Ask Slashdot: How Can My Code Help?
An anonymous reader writes: The story will probably be familiar. My non-profit organization had a particular need (we want to communicate with government officials by offering anecdotes and stories of how we help their constituents), and while I created a solution, the time constraints and lack of experience, training and natural ability show. I'd like to do more with the code, both in terms of letting others have it for their needs and also because I'm sure talented coders could more quickly and efficiently solve some of the existing problems with my code. But how do I make that happen? What do I do with it?
I have every intention of continuing to work on it. I enjoyed the learning opportunity, and I've already identified a number of things I want to improve upon, but I recognize that even as crude as my code is, if it solved my issue it might help others too.
Do I just put it on Github or SourceForge and hope that someone else will have that magic formula of my use case and skill level (because someone more talented would probably make their own code easily enough, while someone less talented may not realize how doable the solution can be)? Do I try to find an existing project and see if I can shoe-horn my efforts in somewhere? Do I keep it to myself until some unspecified point in time that I realize it's right for sharing? Read on for further background information on this question. Here's the backstory: Our existing data didn't always make identifying relevant politicians easy so, for example, I could quickly make a list of who's in what city but we have multiple congressional districts in single zip codes which is a problem that needed more than a simple Excel Vlookup.
I did a fair amount of research into this use case, and saw outdated solutions (projects that fell out of date due to API changes) or more recent posts and projects that made my issue seem so entry level. As if passing data to one API, then parsing the results and sending to another API and then storing the results was Hour 4 in the "Teach Yourself to Code in a Single Day" books. And it very likely is entry level, but coding doesn't come easy to me and my background is limited. I should note that days after completing my mission, I discovered a Drupal module that may have been able to accomplish some of what I needed... if installing Drupal and passing my information into a Drupal install before pulling it back out was going to be any less time consuming.
My solution was inelegant, and though written in Python it is far from Pythonic. It requires a lot of post-processing. It breaks a number of times and in a number of ways, each of which makes me think "oh, I should fix that time-out issue" or "I should figure out how to get it to double check for 5 digit zip codes" or "I should make some kind of error handling to let the script continue instead of stopping".
I have every intention of continuing to work on it. I enjoyed the learning opportunity, and I've already identified a number of things I want to improve upon, but I recognize that even as crude as my code is, if it solved my issue it might help others too.
Do I just put it on Github or SourceForge and hope that someone else will have that magic formula of my use case and skill level (because someone more talented would probably make their own code easily enough, while someone less talented may not realize how doable the solution can be)? Do I try to find an existing project and see if I can shoe-horn my efforts in somewhere? Do I keep it to myself until some unspecified point in time that I realize it's right for sharing? Read on for further background information on this question. Here's the backstory: Our existing data didn't always make identifying relevant politicians easy so, for example, I could quickly make a list of who's in what city but we have multiple congressional districts in single zip codes which is a problem that needed more than a simple Excel Vlookup.
I did a fair amount of research into this use case, and saw outdated solutions (projects that fell out of date due to API changes) or more recent posts and projects that made my issue seem so entry level. As if passing data to one API, then parsing the results and sending to another API and then storing the results was Hour 4 in the "Teach Yourself to Code in a Single Day" books. And it very likely is entry level, but coding doesn't come easy to me and my background is limited. I should note that days after completing my mission, I discovered a Drupal module that may have been able to accomplish some of what I needed... if installing Drupal and passing my information into a Drupal install before pulling it back out was going to be any less time consuming.
My solution was inelegant, and though written in Python it is far from Pythonic. It requires a lot of post-processing. It breaks a number of times and in a number of ways, each of which makes me think "oh, I should fix that time-out issue" or "I should figure out how to get it to double check for 5 digit zip codes" or "I should make some kind of error handling to let the script continue instead of stopping".
Hi anonymous person,
Getting more eyeballs on your code is a marketing problem. So:
* Give us here a link to your code, and
* Make it easy to run your code.
* Then, you can try to reach people who care about that problem domain and tell them to use your code.
To make it easy to run the app, I suggest you create a package for Sandstorm, which is an open source project that makes web apps easy & secure to run. I work on the project, so feel free to decide I'm biased! But do take a look at https://apps.sandstorm.io/ and see how easy it is.
You can reach me (for packaging help) at community@sandstorm.io and find our packaging tutorial here: https://docs.sandstorm.io/en/l...
Best of luck!
|/usr/games/fortune
People won't contribute unless they're using it, and they are also encouraged to contribute. So to move forward you'd want people to start using it. They'd need to be able to get it (github), they'd need to know how to use it (thorough documentation), and they'd need to kniw about it and how it can help them. In order for people to know about it, it might be helpful to post on forums which include people who would find it useful. You could also individually contact some of your counterparts in other organizations if you think it would be useful to them.