Showing posts with label software-tools. Show all posts
Showing posts with label software-tools. Show all posts

March 31, 2022

Updates on Open Source Community Tools

All hail the Guidance (and Attribution) Tree!

The guidance tree is a concept that grew out of my days on the OpenWorm Community Committee. I have implemented a guidance tree for the Rokwire Community, and is available in Beta version for other communities to implement (HTML, Markdown) under a CC-BY license. Check out this 19-minute tour of a guidance tree based on the Rokwire Community.


A guidance tree allows new community members to find a starting point in your community easily, while optimally leveraging their skills. This is something I am calling Community Wayfinding. Community managers who want to adopt the guidance tree have to analyze their own set of community resources (Github repositories, web resources, and documentation) to see where members might fit in. Adopting a guidance tree of your own also requires a definition of community roles, which will be unique to different communities. In the Beta version, a user encounters a set of binary choices that bifurcate towards a specific contribution path. Future versions might map this possibility space to a VR (virtual) world where the options are presented as 3-D objects or as activity rooms.

Would you be interested in a system for tracing attribution or authorship on an open-source (or open science) project? When the formal release version of guidance tree is released, it will be accompanied by the Authorship Tree, an idea I worked on circa 2017 in the Orthogonal Research and Education Lab. The Authorship (or attribution tree) solves the problem of authorship order by showing the relative contributions of each individual in the form of a tree structure. This not only allows for primary contributions to be visualized, but also for deeper contributions (informal conversations, data sources, stakeholders) to be recognized. This is particularly good for publicly recognizing different types of contributors and whose who have been active at various levels of contribution.


Recombining your Technical Stack
During the month of March 2021, we considered how we might strive for a Full Stack community. The basic idea was that depending on the task one wants to carry out, there exist a series of possible technologies to achieve your goals. The challenge is to pick the best set of tools, for all aspects of your open source project. These tools should be compatible with one another, easy to learn/use, and provide accessibility to future contributors. 

But tools are constantly changing. Sometimes you outgrow your current set of tools. Some platforms are okay for small numbers of users, but become unmanageable as you community scales up. This is the nature of the constant tradeoffs one makes in managing a dynamic community. In other cases, tools simply cease to exist, forcing you to migrate to another solution. And sometimes a tool becomes unaffordable as your user needs change. So the question becomes: how do you go about changing out your stack? 


My personal preference is to stick to open source tools whenever possible. There are two reasons for this: it eliminates the cost constraint, and it allows for open source solutions to emerge from the user community. Your open source community might also be able to develop customized tools for such platforms, thus helping you keep your technology stack consistent. The Jitsi platform is a good example of this. Jitsi instances can be started through a web browser or mobile app, and Jitsi servers can be customized by specific organizations


When you do need to change out elements in your stack, the first step is to make sure that the solution works well with your other tools. For example, if you change your video conferencing tool, be sure to make sure your whiteboard (Jamboard) and file sharing (Ignite RealTime) tools also work well with this shift. Doing a series of contingency tests based on common use cases may help. Adopting OBS for screen recordings and streaming is an example of this. Once you know your tool runs stably and provides the desired output, then you will have fewer glitches down the road. 

Secondly, make sure that you community leaders (people most likely to run a community meeting) can use the new tool. You might offer a primer or training session to get people up to speed on the new tool, in addition to how it connects with other tools in the stack. This primer should then be available in the form of video and written documentation to the community, as your meeting and discussion leaders may change over time. Tools that visualize Github tasks and milestones (ZenHub) is one example of a tool with multiple dependencies.

A third step is to do an audit of how the tool is actually being used, to ensure that there is a match between desired functionality and the functionality that is available to everyday users. Perhaps your community is really interested in sharing files during their video meetings. This may require the addition of a new tool, or an addition to an existing tool. Only a post-implementation audit (or a quarterly solicitation of use cases) will reveal an actionable path.

September 29, 2021

OpenWorm Annual Meeting 2021 (DevoWorm update)

This week we had our OpenWorm Annual Meeting for 2021, which featured administrative business as well as updates from our research groups and educational initiatives. Much activity going on inside of the OpenWorm Foundation -- join the OpenWorm Slack or follow OpenWorm on Twitter for more information. Below are the slides I presented on progress and the latest activities in the DevoWorm group. If anything looks interesting to you, and you would like to contribute, please let me know. Click on any slide to enlarge.













The last slide is in recognition of OpenWorm's 10th anniversary, or at least the first release of  OpenWorm 10 years ago this month. Looking forward to what the next 10 years will bring! 

But in terms of what the next month will bring (for DevoWorm), we are hosting our second annual Hacktoberfest! Check out README files in our pinned repositories on DevoLearn and devoworm/digital-bacillaria to get started!

May 2, 2021

DevoLearn (Open-source) Maintenance and Evangelism

 2021 has been a busy year for the DevoLearn initiative. Not only has Mayukh Deb been busy maintaining and generating new versions of the DevoLearn pre-trained model, but I (Bradly Alicea) has been engaging in technology evangelism to advance awareness and involvement in the initiative.  The DevoLearn pre-trained model software (for C. elegans embryogenesis) is now at version 0.3.0, and has garnered 12 contributors making 165 commits (largely since January 2021). Our involvement in Google Summer of Code has bolstered many of these contributions. While our popularity is currently limited, we are trying to spread the word.

To that end, we have presented two versions of a promotional talk on using DevoLearn for facilitating Computational Developmental Biology research and education. The first presentation (DevoLearn: Engaging learners with Computational Developmental Biology) is a flash talk given to the OSF Education Un-conference on Open Scholarship Practices in Education Research, held in February. The second presentation was a longer (15-minute) presentation to the INCF Assembly (DevoLearn: a platform for open Developmental Data Science, Machine Learning, and Education), held in April.


As for developing the broader platform, Ujjwal Singh and I will be working this Summer to develop algorithms for colony morphogenesis and behavior in the Diatom genus Bacillaria. This will be added to the platform in a manner similar to the DevoLearn pre-trained model. In addition to the software development activities, Mayukh, myself, and Krishna Katyal have been the main contributors to the DevoWorm Onboarding Guide. Looking forward to an exciting future!


Update, 8/19:

All of this work has paid off! From the #devolearn Slack channel (OpenWorm Slack team).



September 30, 2020

OpenWorm Annual Meeting -- DevoWorm Slides

Today we held the OpenWorm Annual Meeting, which is a time for the Board of Directors and Senior Contributors to meet and discuss the latest developments within the foundation (in this case, activities over the past 1.5 years). Overall, a very inspiring meeting! Here are the slides I presented on progress and the latest activities in the DevoWorm group. If anything looks interesting to you, and you would like to contribute, please let me know.



Click to enlarge.


Click to enlarge.


Click to enlarge.


Click to enlarge.


Click to enlarge.


Click to enlarge.


Click to enlarge.


Click to enlarge.


Click to enlarge.


Click to enlarge.


Click to enlarge.


Click to enlarge.


Click to enlarge.


Click to enlarge.


Click to enlarge.


Click to enlarge.


January 18, 2017

More Badges to Earn, Hackathoners!

Several months ago, I posted on the beginnings of the OpenWorm Foundation's badge system. Contributions have been made by several senior contributors, including myself (see the Literature Mining series). Another of my contributions is a series of three badges focused on planning and executing a successful Hackathon [1]. Hackathons are get-togethers of expertise for the purpose of facilitating social coding and solving big, multistep problems. These types of events can be held live or via Skype, and even involve non-coding problem domains [2].

An active in-person Hackathon. 

Check out the Hackathon badges today! For people unaccostomed to earning badges, badges are a quick credential earned by working through the evidence points and submitting an answer in the form of short pieces of computer code, images/graphs, or links acquired through working with a piece of technology. The points of evidence are meant to encourage problem-solving and learning on your own, so there is no time limit on completion. Let me know if working through this badge encourages you to host a Hackathon event of your own.

NOTES:
[1] Badges must be earned in sequence: Hackathon I, Hackathon II, and Hackathon III.

[2] Hackathons can also be used to collaboratively solve interdisciplinary problems in a short period of time. For more information, please see: Marshall, J. (2016). In first 72 Hours of Science, SFI postdocs test the limits of transdisciplinary science. Santa Fe Institute News, April 20.

May 6, 2016

It's a bird! It's a plane! It's a simulated cognitive epiphenomenon!


Is it a robot, or is it a human? Sometimes, the conclusions overlap. The first picture refers to the profanity habit picked up by IBM’s Watson early in the course of its training. It must be disconcerting to hear the word “bullshit” in a synthetic voice (even if it’s Q*bert). A more recent example of this comes from Microsoft's ill-fated attempt at politically-correct AI, giving us more of a robo-fascist instead [1].


Speaking of artificial systems that reveals the less-promoted side of intelligent behavior, I have run across a number of references to the computational exploration of artificial pareidolia [2]. Having first-hand experience with this phenomenon on Facebook, it's nice to see people exploring this oft-maligned feature of human cognition using artificial intelligence.

In these two articles [3, 4], studying digital pareidolia means generating certain types of false-positive using facial recognition software. Whether this highly-restricted definition [5] qualifies as the study of neurological pareidolia, there are many shapes and patterns that have many of the features found in faces [6].

Another way to study digital pareidolia is to evolve faces from a series of overlapping shapes [7]. In this way, we can see exactly how machine learning algorithms come to define a face in both a holistic and feature-based sense. The faces themselves can be evolved using genetic algorithms to breed faces that self-assemble, as has been implemented in an interactive algorithm called Pareidoloop.

Converging to Mona Lisa (using a fitness function).

NOTES:
[1] the goal was not actually to build a politically-correct AI, only a Twitterbot that did not pick up the worst habits of humanity. The project has since been terminated.

[2] Geere, D. Pareidolic robot looks for faces in clouds. Wired UK, October 14 (2012).

[3] Rosen, R.J.   Pareidolia: a bizarre bug of the human mind emerges in computers. The Atlantic, August 7 (2012).

[4] Borenstein, G. Machine Pareidolia: hello little fella meets facetracker. Ideas for Dozens blog, January 14 (2012).

[5] One problem with this definition involves the restriction of the pareidolia phenomenon to faces. The other (and potentially more significant) problem is that biologically speaking, faces (and perhaps other objects) may be processed holistically rather than by evaluating sets of landmarks.

[6] For more reading on the topic, please see:

Taubert, J., Apthorp, D., Aagten-Murphy, D., and Alais, D. The role of holistic processing in face perception: evidence from the face inversion effect. Vision Research, 51(11), 1273-1278 (2011).

Goffaux, V. The discriminability of local cues determines the strength of holistic face processing. Vision Research, 64, 17-22 (2012). Goffaux lab explainer.

Richler, J.J. and Gauthier, I. A meta-analysis and review of holistic face processing. Psychological Bulletin, 140(5), 1281-1302 (2014).

[7] Johansson, R. Evolution of Mona Lisa. December 7 (2008).

November 17, 2015

Lecture on Open Science, November 18!

I am presenting a lecture to the Webmasters Workshop series at UIUC tomorrow, November 18th. The title is "The Role of Web 2.0 Tools and Digital Practice in Doing Open Science". Physical location will be in the GSLIS Building, room 126 (501 E. Daniel). Virtual location (slideshow) is here. Virtual co-location (archived video) can be found here.

Please come if you are able! Here are some screenshots and takeaways from the presentation.






June 17, 2015

Breaking the Threshold of 150,000 Reads

Great news! According to Blogger analytics, Synthetic Daisies blog has just surpassed 150,000 reads! This calls for a milestone post -- as a cake with candles would be logistically and conceptually difficult. In addition, Synthetic Daisies now has 300+ posts in the archives.

Most recent logo design, trite subtitle.

When I started Synthetic Daisies, it was loosely modeled on a style typical of the science blogosphere in 2008 (with a bit more casual approach). I was also (and have been since the late-90s) inspired by what Wired's approach to web content. This landscape has changed quite a bit, and so has Synthetic Daisies. Having my own blog has allowed me to address my own set of interests in my own style. I've also been presented with unique opportunities for scholarship which are not typically "blog-like", but interesting nonetheless.

Allowing myself to be myself since December 2008.

Finally, aside from the ten pages hosted here, the nine most read posts (circa June 2015, courtesy Blogger Analytics) are as follows:
Post Name

Type
Reads

Blogroll
9677

Blogroll
5426

Essay
2168

Feature/Cartoon
1696

Blogroll
1460

Theoretical Essay
975

Feature/Cartoon
820

Essay
788

Theoretical Essay
689



May 25, 2015

Scientific Bytes and Pieces, May 2015

Bytes and Pieces is a collection of links and essays recently enncountered from across the internet, consisting mainly of scientific essays and applications.


Asterank: A web-based interface which visualizes all of the asteroids in our solar system and ranks them according to economic utility (e.g. asteroid mining). Thus, Asterank combines physical science with an optimistic futurism. See the associated Github repository for technical details.

Screenshot of Asterank Interface.


The Scientific Method is an Idea Ready for Retirement. Despite the provocative stance, this is indeed the view of one systems-level thinker (Melanie Swan) who argues against the power of reductionist hypothesis-testing in a high-throughput, multivariate world.


Writing at Nautil.us blog, Sam Arbesman brings us a tour of "robust yet fragile" systems. This essay explores the consequences and by-products of kludgeiness in complex systems. The "crawling horrors" that Arbesman refers to are small-scale errors that cause failures in systems that are otherwise error-tolerant.


Making Espresso In (Outer) Space. An Italian coffee company (LavAzza) is behind an effort to make Espressos in space (e.g. zero-gravity conditions on the ISS). Looks like a challenge to both make and drink enjoyably, although without gravity one does not have much of a choice. Next up on the exotic coffee wishlist: leveraging quantum foam to make yoctolattes.

The glamour and impracticality of old-fashioned space coffee.

Preparing a cup (or rather a pouch).

Not quite as advertised, but she will enjoy it!

Via Singularity Hub, we learn of Second Life founder Philip Rosedale's latest efforts: to build a virtual metaverse at the scale of planetary communities. The proposed platform (High Fidelity) would be an open-source virtual reality-based social network with a variety of potential uses. A planetary-scale metaverse will require large-scale, coordinated, three-dimensional computing resources, which means that this vision should be quite the technical challenge to realize.

High Fidelity wants you! As a technical expert and eventually a user, but still...


Printfriendly