

Ask Slashdot: How Can My Code Help? 47
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 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.
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".
Share the source, and make it easy to install (Score:3)
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/ [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... [sandstorm.io]
Best of luck!
Re: (Score:1)
Re: (Score:3)
No, please *don't* just go posting another project. As you have even discovered yourself, this is probably a solved problem for someone who knows the tools better. Most coding problems don't stem from the fact that there isn't enough code out there; the problem is that there are a lot of libraries and systems (free, gratis, and paid) that do 80% of what needs to be done, and the first job of the developer is to evaluate which of those tools is the right one to start with. Throwing out yet another message pa
Re: (Score:2)
Re: (Score:1)
put it out there (Score:2)
Most code is useless. (Score:1)
You need to learn the first rule of software development that has nothing to do with the code, and everything to do with you. Don't fall in love with your own code.
It sounds like you created something useful for your organization. Great! It also sounds like you realized your own limitations. Excellent!
Now just realize that in all likelihood, nobody cares about your code. You've said yourself it's not really good code. If you don't even think it's very good, and represents a first stab by someone who's
scope? (Score:1)
this isn't something you could do in excel? how many stories or events are you sharing per month (eg 100, 10,000)? Are these events local, regional, state-wide, or national?
Re: (Score:2)
Because you keep forgetting them?
First of all, post a whiny, inept description to.. (Score:2)
First of all, post a whiny, inept description to SlashDot. Make it sound like it was written by someone who just got an offshore contract, only don't finish it with "Help quickly!"
hire a professional (Score:2)
Presumably, you pay accountants, tax advisers, communications firms, printing companies, and secretaries to do a professional job. Why not hire a professional to do your programming for you as well? There is nothing that says that open source software needs to be written by amateurs or unpaid volunteers. In fact, a lot of open source software is created that way: by non-profits or for-profits hiring professional programmers to create it and then share it.
Step One (Score:1)
Starting a git repo doesn't eliminate any other options.
Submit issues for all those features you're thinking about.
If somebody comes along and hands you a pull request with the whole thing re-written in Ruby or Java or Erlang, you make the call.
If you find somebody else's preject and start contributing there in the meantime, you can put a link to the new project in your Readme.
If nobody ever shows any interest, and you just keep plugging along, so be it.
You have nothing to lose, and possibly something to ga
Re: (Score:2)
Pretty much what I was going to say. Without any more details of the project, it is hard to give suggestions on how to move forward with it, or collaborate on it, but putting it on Github is a great start and as parent poster said, you have nothing to lose.
Don't let Linus see it, or he'll call you a cunt (Score:2)
What's to lose? Worst case, it acts as a bad example.
Re: (Score:2)
Re: (Score:2)
The guy created Linux and Git. It doesn't matter if you think you know more "tricks" than him - bottom line, he's relevant and you're not.
Re: (Score:2)
See how he dances
See how he loops from side to side
See how he prances
The way his hooves just seem to glide
He's just a one trick pony (that's all he is)
But he turns that trick with pride
He makes it look so easy
He looks so clean
He moves like God's
Immaculate machine
He makes me think about
All of these extra movements I make
And all of this herky-jerky motion
And the bag of tricks it takes
To get me through my working day
One-trick pony
He's a one trick pony
He either fails or he succeeds
He gives his testimony
Then he
well, sort of in reverse order.. (Score:2)
If you had put it out in open source on github and then posted this you would instantly get the attention of at least a few people. :) Put in general if you open source something you thing may be generally useful or in an important area and use some social media to get the word out about why you think it is important or asking for assistance then that is likely to be more effective than just putting it on github and hoping someone notices. When you do put it on github please in the readme say why you
document it, share on forums with interested peopl (Score:3)
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.
Re: (Score:2)
I just started writing a great novel. Well, it isn't really great. In fact it is kind of sloppy. But I think it could turn out really great if I can convince some great writers to pick up the pieces of my sloppy outline and turn it into a best selling novel. Where do I post it to make that happen????
Try the Twilight forums. It worked for that Fifty shades of grey woman.
Hm ... (Score:2)
As always I have the strange feeling this is again just an attention whore.
1) So what to do? As written below by another poster, before askin thhis you should have made it available, e.g. on github.
Now regarding your 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 Exc
Re: (Score:2)
Wait, you expect OP to write the requirements before writing the code?
If you're going to do that, at least follow a normal development process:
1) Write vague, conflicting design details and call them requirements
2) Write code based on what you think the requirement writer meant, rather than what they actually said.
3) Write test cases that prove your code does what it does.
4) Update the code to do something else, but don't update the requirements or test cases
Re: (Score:2)
You forgot the step where 85% of the budget is spent on creating a "framework" that creates a layer of abstraction between the application and the underlying programming language, including a convenient pseudo-SQL API that let programmers query the custom ORM more easily using cacheable lambda expressions.
The human touch. (Score:2)
we want to communicate with government officials by offering anecdotes and stories of how we help their constituents
Then take the time to get to know these people. If they hold a town meeting, be there. If they have an office in your district, don't be a stranger. Invite them to meet with those you have helped. Let them tell the story.
Not to suggest a paid solution, but (Score:1)
GitHub and Twitter (Score:1)
Don't (Score:2)
Those of us that have the time 'in the trenches' have all made messes similar to yours and don't need to see another 'first real project'.
Seriously, what makes you think this code is good enough to be reused or generalized?
Take it as a learning experience. Your next one will be better. In about 10 years your code might be share worthy.
GitHub: The new SourceForge (Score:2)
GitHub: The new SourceForge
Look, you can't just declare a project, put it up in a public repo, and then expect people to flock to fix your code for you. One of the big things in the dot bomb era was people thinking that there were millions of Open Source programmers with no project ideas who would happily write their code for them, if only they were able to figure out how to declare a project exists to the right coding audience.
GitHub tries very hard to *NOT* be the new SourceForge -- "SourceForge: Where s
Code for America (Score:1)
There are other non-profits out there that are trying to help people in your situation. Take for example, Code for America (http://www.codeforamerica.org/).
They could help you get your project in front of talented developers that are motivated to write software to make government work better.