
Show HN: We manage your code duplication. We want your bugs to stay fixed - jaimefjorge
http://www.qamine.com
======
xxbondsxx
Thank god! I copy pasta code all day long and this is exactly what I need.

I heard if you don't repeat yourself then you don't run into this kind of
thing, but agile startup nodejs ninjas have no time for that

~~~
jaimefjorge
You just made my day, kind sir :) We work really hard to hear these kinds of
things. Thank you!

~~~
mattmanser
Can't decide if that went over your head or you're trolling back...

But seriously, this seems to be checking for the antithesis to good code and I
imagine a lot of programmers here are thinking 'you shouldn't need it!'. So
sell it a bit more as your website doesn't.

On the code bases you've beta tested this on, do you really identify this kind
of percentage of replication? Isn't that a sign the code is bad and should be
abstracted or does this help in another way?

I'd want to see some real life examples on your site somewhere on some public
repos, where are they!

~~~
jaimefjorge
I've been finding that the messaging part is tricky. But you're right; we are
still finding the perfect way for us to message what we do. The thing is that,
we've been finding that the average project on github (specially those using
ruby and javascript) doesn't have a huge amount of code duplication (I'm
really thinking about making a blog post about it). However we believe that
there is duplicate code that:

1) You don't have time to refactor 2) The overhead of refactoring is too big

So for all these cases, we believe you should be able to live with the code
you have and not make any inconsistencies.

Showing real life examples is definitely interesting.Will improve.

Thank you for this.

------
sax
Hi HN, I am working on debugging/log analysis service for developers that is
designed to plug into continuous integration and act as the first filter for
incoming crash/exception logs.

My submission never made it to HN front-page, but I would love any feedback on
it. It's at www.bisect.cc. Thanks.

(Jaime, your service is really the kind of functionality that is missing from
dev toolbox. Great job at solving real-world problems!)

~~~
nayefc
Hey sax, I have a comment. Most people will stop reading at:

Bisect allows users to test program state against expected values. Tests
results are used as bisection __READING STOPS HERE __points to narrow-down
towards the root-cause of the underlying issue.

The top three paragraphs still don't really explain what this does. Summarize,
and show an example. That way, people will use it and come back to it.

~~~
sax
Nayefc, thanks. Your comment was enlightening and makes total sense. Will fix.

------
danso
Sounds like a great service...my only suggestion for the launch page is to
show some examples of what the service will flag...I have a good idea of what
it might catch but I'm sure you have even more interesting examples

~~~
jaimefjorge
That's a great idea. We want to add an interface screenshot or a demo to the
first screen. However, we had a tradeoff between what is more clean and what
gives more information. We will be revising that to give more information.
Thank you for your words!

------
jaimefjorge
Hi! I'm Jaime and me and my team built this. Please bear with us since it's
our first big opening on hacker news and our servers are kinda smallish. If
you can't register your projects don't worry as everything is recorded and I
will try to personally attend every one. Eventually it will start analyzing.
Working non stop to serve you :)

------
ldn_tech_exec1
I've been using QAmine for a while now, and honestly you don't realise how
much you need this until you use it. It finds stuff you will never find. I can
see this becoming essential to my workflow.

Awaiting a Sublime Text plugin or growl integration, as email is not really in
my workflow.

~~~
jaimefjorge
So you're the one!

Aha, awesome stuff. Thank you for your love. Please let me know if you ever
need anything (jaime@qamine.com/jaime.fjorge) If Qamine is essential to you, I
would love to give you extra credit/bugs and a hug for that testemonial.

Thank you for sharing the love!

~~~
speg
Looks cool, is there Python or BitBucket support coming soon?

~~~
jaimefjorge
We actually support python experimentally. I forgot to add Python and
Objective C to the web site. Please feel free to try it on your python repos
(I apologize in advance for any delays in the analysis)

------
bigsassy
Wow, your servers must really be getting pounded right now. A much better
problem then no traffic at all.

Congratulations!

A few commments:

1) When you first login, I have no idea what to do. When I clicked on my
profile, the tour kicked in and was very helpful. Why no tour on the first
screen?

2) The red X button for each repository is a little weird. It makes it look
like the repository isn't eligible, or there's an error. Probably should do
something different there.

3) When I click the red X button it turns blue with a clock icon, and then
after some time turns back to the red button again. As a user I have no idea
what's happening. As a dev, I can only imagine you're getting pounded and
something's failing in the background.

~~~
jaimefjorge
Thank you. The engineer is me is screaming while the other quarter is happy
for the attention :) Regarding your points: 1) You're right. This is our first
iteration of our UI. We need to work on that. However we should have a small
tour on the first screen.. I'll check it afterwards 2) Indeed it is. Some
users (very recently) told me that it looks like the repo is on by default. We
need to change that. Good spot. 3) It tries to register with my code analysis
server. But because it's burning up with so many requests, it times out. Sorry
about that. We will increase the capacity for situations like these.

Thanks for the feedback. I'll try to spot your registrations and make them
work.

------
andyhmltn
A few little things that could help it:

1) When I signed in, there were initially no projects shown. I had to refresh
to see anything.

2) When I click to start analysis, the application just loads... for ages and
then crashes ('An error occurred in the application and your page could not be
served. Please try again in a few moments.') I'm sure that's just teething
issues, but it would be nice to have some kind of ajax loading icon to show
the application is thinking :-)

~~~
jaimefjorge
Great feedback. Sorry about both of those. The first one is because it takes a
little amount of time to get the repos from github. The second one is because
people are signing in like crazy. Really sorry. one the next few day
everything should be working properly.

Thank you for the time to write that.

~~~
culturestate
From a UX perspective, I don't think anyone in your target audience would have
a problem with the fact that it takes a little time to pull the repo. I'd just
add a small badge that says something along the line of "Give us just a
minute, we're still synchronizing your repositories." If the sync time is
suitably short, you could even autorefresh every few seconds.

Check out CloudFlare - they do a great job with this exact situation in their
record import screen.

------
joelhaasnoot
$200/month sounds like a lot of money for just code duplication. Something
like Sonar (<http://www.sonarsource.org/>) goes a long way and has a lot more
code quality rules than just code duplication. There are a lot more indicators
to good code than just duplication. Guess hosted is the way to go these days.

~~~
jaimefjorge
This is the value for our subscription. However we have a starting plan that
is free for you to use up to 5 issues per month.

What we have seen is that startups don't have more than 5-10 clone detection
inconsistency issues. So we want basically to provide that value for you for
free. And, as soon as you outgrow that number because you have 1) a larger
team 2) more code, you will be able to afford the subscription.

------
saevarom
I would like to see one of these tools start supporting some other hosting
option than Github.

~~~
jaimefjorge
We will eventually support bitbucket. We would love to also support tools that
are closer to us (like IDEs for instance) and continuous integration tools.

Thanks for the feedback!

------
gburt
This is a great example of awesome support. Look at Jaime's responses in this
thread. He's handled everything perfectly. It barely even matters that this is
a really cool idea just waiting to get gobbled up by Github.

~~~
jaimefjorge
Perfect would have been to have my servers responding better to this stress.
But hey.. we're learning to make it better next time.

Thank you for your kind words!

------
sync
Just getting "Invalid result from WS" after selecting a private repo.

Also, the product tour really isn't very useful at three steps. Seems like a
more streamlined 'onboarding' experience is what you are after.

~~~
jaimefjorge
Sorry, the servers are already at full capacity. However, I registered your
repo registration.

Thanks for the feedback. That's exactly what I'm looking for.

------
lifeisstillgood
I was about to sign up, and the auth page said "update your public _and
private_ repos"

is this a github default? Because I now simply dont know exactly what oAuth I
am giving away so I dont want to give it.

help?

~~~
jaimefjorge
We will never update your private repos. what we do is we add a robot account
that listens to your commits. We never commit anything yourselves. I will add
a panic button to the interface so that every time you want, you will be able
to opt out and all your code is deleted from my code analysis server. Here's
my email and skyp: jaime@qamine.com jaime.fjorge Feel free to contact me
regarding that.

~~~
simonz05
I guess this is more an issue with GitHub OAuth permissions which are not fine
grained enough. What you want is read-access to all repositories.

I would not give anyone access to all my private repositories, however.

------
bashtoni
SVN support would be great. We run an ops consultancy business, I can think of
a few customers who could really do with this tool, but all of them use svn.

I suspect this isn't a coincidence.

~~~
jaimefjorge
Excellent point.

SVN is definitely also on our roadmap. A couple of companies already asked for
it. We already have a prototype version of SVN integration running..

Would love to have it running on your clients. Let's talk about it
(jaime@qamine.com)

------
jaimefjorge
Quick Update: My mongo instance on the code analysis server failed. Need to
restart it. Sorry for the lack of results. Working on it.

------
guipereira
Great project that Jaime have in his hands. I used myself on my RoR projects
and it's very useful. Nice work, keep it up ;)

------
davidradcliffe
Looks like it only pulled in some of my repos, but many are missing from the
list. Is there a way to refresh the list?

~~~
jaimefjorge
If you added new repos, please sign out and sign in (sorry for the hack) as it
will pull again your repo list. Other wise, please email me: jaime@qamine.com
And I will help you sort that out.

~~~
zackkitzmiller
My personal private repos are missing, but some private repo's I've clone
show.

------
jtreminio
For PHP, why would we use your service over PHPCPD and PHPMD?

~~~
jaimefjorge
Great question.

Those tools evidence your code duplication (saying the lines and code
regions). We, however, show you when those code regions were changed
inconsistently.

We basically want to show you the effects of code duplication by introducing
time whereas those tools don't have the concept of time.

If you ran those tools every single time you commit to see if you forgot to
change a code region, you don't need us. If you're interested in having that
ran for you, that's where we come in.

Thank you for your question. I hope to have answer it?

------
rooshdi
Any idea when you'll support Bitbucket?

~~~
jaimefjorge
In some months from now. If there are enough people to use it, it will be
faster.

Because it is growing, however, I can assure you that it will be our next
integration :) Sign up (or ping me: jaime@qamine.com) and I'll update you.

Thanks for the interest!

~~~
rooshdi
Thanks! Can't wait to try it.

------
amfsd1
awesome support by @jaimefjorge here on HN. Good job and congrats on the
product... love it! Don't get gobbled up by Github just yet ;)

------
andrewljohnson
Objective C?

~~~
jaimefjorge
We support it. Just forgot to list it on the web site. Be sure to register.

