git tower 2 keeps refreshing my view and throws the cursor to beginning of commit list every time I refocus the app - refresh

I am on the main screen, going over commits one at a time in MASTER branch, lets say I use the keyboard arrows.
Every time I go to another app (Eclipse) and then go back to tower, the commit list gets refreshed, and I'm being brutally thrown to the top of the list. WTF.
The above also happens every once in a while without exiting and re-entering the app.
I have the latest version (2.2.0 build 274) but this amazingly annoying thing appears on older versions as well - and I don't seem to find anything on the web about it.

This is Tobias from the Tower team.
What you describe seems to be happening for a couple of other users, too. I can't give you an ETA, but we already have this on our list of things to do!
Thanks for for pointing this out!

Related

Save 'compare project' view

I'm trying to save compare view for few projects, to avoid clicking through to get it for all of them over and over again. Can this be done? Freshly pulled SonarQube, 5.6.1.
Documentation and my own research so far proved fruitless to point to any way of doing that, so I keep recreating same project comparison. Any pointers are welcome.
EDIT:
Attaching two screenshots.
Nope, you cannot save configurations on the Compare page. It's a known limitation that won't be fixed, see SONAR-4479. As per ticket, note that this Compare functionally is planned to be removed in 6.x series.

Inconsistent 'Cannot find CFML template for custom tag' error

I have a CF9 site set up locally on OSX Snow Leopard, and it's started to behave very strangely - probably about 1 out of every 5 times I load any page in the site, it will throw a 'Cannot find CFML template for custom tag' error. I just refresh the page and then everything works fine. It can happen on any page, but it never happens consistently with any one page. Furthermore, this doesn't happen at all on the live server when the code is checked in through SVN, so I figure it has to be some kind of configuration problem on my local instance. I can still do my work, but it's pretty annoying having to refresh pages ALL the time. Has anyone run into similar difficulties?
Try using <cfmodule template="pathTo/yourTag.cfm"> rather than <cf_yourtag>, so you can specify the exact location of the template (in case the server is getting confused as to where it resides).
FYI, this is based on a tip from Raymond Camden's blog post: http://www.raymondcamden.com/index.cfm/2006/8/17/ColdFusion-Custom-Tag-Tips
Chris, odd that I should run into your question now, as this just started happening to me last night. I have all of my CF errors being emailed to me, and I am seeing that similar problems are happening across multiple sites that all run the same software, some of which haven't been touched in a long time. That got me thinking, it's probably a corrupt compiled template in the CF cache. You can recompile the template by making a slight change to it, say add an extra line or a comment or something, then access the site again. Or, purge the whole cache and let CF rebuild everything, which is likely what I'll do since who knows what else might be affected.
Clearing the Cache in Coldfusion Production server

How to deploy a .NET application that will expire after a certain time or number of uses

We would like to be able to create intermediate releases of our software that would time-bomb or expire after a certain fixed time or number of uses that would not easily be manipulated. We are using Visual C++ with mixed native and managed assemblies.
I imagine we may need to rely on a registry tag but this seems to be insecure.
Can anyone offer some advice on how to do this?
I was working on a "trial-ware" solution a while back and it used a combination of registry keys, information stored in a flat-file at a certain position surrounded with junk data, and then also had an option to reach out to a webservice that would verify it back with the software creators.
However, as FrustratedWithFormsDesigner stated, there is no 100% fool-proof way to do this. There is always a way that a hacker can get around whatever precautions you put in place.
If you are using a database for the application, then it might be better to store a install (datetime) and a numberofusers (int) and then make code that checks those fields when the program is starting / loading / initing. If they are past a certain number or time (this could also be in the db) then exit the program.
This is very hard if not impossible to do in a foolproof way. In any event, there's nothing to stop somebody removing and reinstalling the software (you do support that, right?).
If you cannot limit the function of these intermediate releases (a much better incentive for people to move to official bits), it might be more trouble than it's worth to implement such a scheme.
Set a variable to a specific date in the program then every time the program is run access the system date and check if that date is equal to or greater than the specified date. If true then start the expiry process and display a message or alert panel to the user.
Have the binary download a tiny bit of code on startup from one of your servers.
Keep track of the activation counter on the server, when the counter reaches the limit, return a piece of code that displays the 'sorry!' message.
You could deploy it as a ClickOnce application with a certificate that expires at a certain date. If I recall correctly, the app will err on startup after that date.
A couple caveats:
The only option for the user may be to uninstall the app, which is a jerk move.
You will end up maintaining a ton of different deployments.
It will be a shock to the user as it will just happen without warning.

FinalBuilder 7. Is it possible to know who broke the build?

I am pretty new in builders and absolutely newbie in FinalBuilder.
It is a great app, very intuitive, well documented with lots of features.
But I can't find one thing:
How can I determine who is responsible for the broken build?
This is a notoriously hard problem to tackle, and I'd be surprised if FB server got it right. That's not to say that there isn't any function to get some information out of it, but consider this:
If two commits are done within a short timespan, and the server is currently occupied, by the time it picks up the changes and runs, it will run for the last one. How do you know which of the two changesets are really responsible?
Also, if I remove a method, and you call it, which of the two are in error? Me because I removed the wrong method, or you because you call a method we're not supposed to be using?
TeamCity has some provisions for this, but it frequently gets things wrong, in particular, consider the following sequence of events:
Person A checks in something, which breaks the build. Person A gets an email about this.
Person B checks in something, build still not running correctly, person B does not get any email
Person C checks in something, that by itself would also break the build. Build is, however, still not running, but now only partly because person A still hasn't fixed the problem he introduced.
Person A checks in a fix to his problem, build still not running because of person C's change, which still haven't been fixed.
It gets complicated knowing "who broke the build", at most you can figure out who "started a sequence of breaking the build". I know TeamCity gives you that, I don't know if FB server does.
It depends how you define "who is responsible for the broken build" If you define it as author of the last commit then you should retrieve the information from source control system. In case of subversion you can use svn info task to get the author.

Preventing build breaks - using a pre-commit build

What methods are available for preventing sloppy developers from breaking builds.
Are there any version control systems which have a system of preventing check-in of code which breaks the build.
Thanks
Microsoft TFS Build has something called "gated check-ins" which provides this, by performing a private check-in (called Shelving) which is promoted to a normal check-in if the build succeeds.
http://blogs.msdn.com/b/patcarna/archive/2009/06/29/an-introduction-to-gated-check-in.aspx
TeamCity has the concept of "delayed commit"
http://www.jetbrains.com/teamcity/features/delayed_commit.html
I can wholeheartedly recommend TeamCity!
Get a LART and beat developers who break the build.
Have the build status on a great big screen where everyone can see it with the a red/green background and the name of the last person to commit.
Have the build server send an e-mail to the whole dev team fingering the developer who broke the build.
Honestly... why do people get so hung up on "making developers do X". Tell them it's the process, and fire them if they don't follow it.
EDIT: because the following was too long for a comment.
I work on a team with 12 or so developers. Some people consider that large, some consider it small
We have a large screen (32" flat screen TV on a 6 foot stand) that everyone can see that tells us all sorts of information - including (in the biggest box on the screen) the state of the "commit build".
Our process is to update from SVN and run the commit build locally (about 2-3 mins) before committing. If it passes, ship it. If not, fix it locally and repeat. Since we do TDD, this generally only happens if something you pulled out of SVN broke something you were working on.
If it fails in CI you either ignored the process or your commit collided with someone else's in a bad way. The screen goes red, someone shouts at you, you fix it and move on. This generally only happens to us about once a week or so; mostly it goes red because people try and cut corners ;-)
Nobody needs to "force developers" to do anything. We're creative, artistic individuals who are generally adult and professional enough to follow a process if that process makes sense. In this case, build locally and only commit if that passes.
Who cares if the build breaks in CI, as long as it's fixed quickly so it doesn't prevent the team from working?