Particularly the open-source software community. Setting up the "hello world" of graph databases should not be this friggin hard, especially when people in the open-source community nonchalantly act like it's so god-damn easy:
point-in-case, what the open-source instructions says I need to do to interact with the Titan Graph DB via Python:
# by James Thornton, http://jamesthornton.com
from bulbs.titan import Graph, DEBUG
# TITAN_URI => "http://localhost:8182/graphs/graph"
# "graph" is the default graph name set in the Titan Server config
g = Graph()
print "KEYS: ", g.vertices.index.keys()
print "DATA: ", g.vertices.index.lookup(city="Dallas").next().data()
How incredibly simple and elegant... even the first two steps can effectively be ignored if you just navigate to your project folder. Well, at least that's how it looks. What? You didn't have pip installed before now? Oh, well, go figure that bag of worms out. Bash doesn't recognize virtualenv? What person would have left that off their computer by now? Finally get through all of those and you get...
ValueError: failed to parse CPython sys.version: '2.7.5 (default, Aug 25 2013, 00:04:04) \n[GCC 4.2.1 Compatible Apple LLVM 5.0 (clang-500.0.68)]'
I can Google it - but Google gives little to no fucks and if my title bar tries to parse it like a web address one more time I'm going to start tossing things out the window. I can post a question online to the community, but their programming stack might use Python 2.4 or 3.0 or they might have some older version of Titan, which works happily with all of this... it just doesn't work for me. I mean, at the very least, the error could have given me some useful information, something I could use without acting like I need to understand the internals of the source (which defeats the point of using someone else's code to begin with), but that line of bleh tells me nothing. NOTHING!!!
So, after a week of smacking this thing around, I feel little closer to finally getting my god-forsaken graph database running and I'm wondering yet again if programming is more an art of writing code or fighting obscure terminal errors while you feel like those older members of the community will be angry if you bother them with yet another question as to how to get to square one. Yes, it's been asked before, ad nausea, too. But that was on an older version of everything. It no longer works. Things got updated and open source communities love deprecating code between every minor version release to the point of insanity.
Wraps his head inside of his tail and mumbles curses at the Terminal screen.
Gah, my stomach is sick, but I think I finally got it. There was a whole bunch of other stuff after this I had to do before it finally went up, but I think it's finally alive. I've got a few more things to learn, but at least I'm guessing that will be in the realm of learning the API and less about "bash"ing my head against terminal.