This week was I
suppose fairly typical. Started using a new library, the excellent
sqlg that provides the TinkerPop graph API on top of relational
databases. Found a bug pretty quickly. Off we go to contribute to
another open source project, good for my street cred I suppose. Let’s
fork it, and open the source code in IDEA (Community edition). After
years of hearing abuse about Eclipse, I’m now trying to use “the
best IDE ever” (say all the fan boys) instead. Well, that didn’t
go so well, apparently importing a Maven project and resolving the
dependencies proves too much for IDEA. I fought with it for a while,
then gave up.
Fired up Eclipse, it
opened and built the sqlg projects without a hitch. Wrote a test,
fixed the bug, raised a PR, got it accepted with a thank you, life is
good.
Then I find another
bug. Except that upon investigation, it’s not in sqlg, it’s in
the actual TinkerPop code. The generics on a map are wrong, there are
values that are not instances of the key class (thanks generics type
erasure!). So I can fix by changing the method signature, or change
the keys. Both will break existing code. Sigh…
Oh, and the
TinkerPop project doesn’t build in Eclipse. The Eclipse compiler
chokes on some Java 8 code. Off to the Eclipse bug tracker. Maybe I
need to have three different Java IDEs to be able to handle all the
projects I may find bugs in.
Everything isbroken. Off I go to my own code to add my own bugs.