Sunday, 3 August 2014

TeamCityZen - TeamCity communication and socializing extension

Every organization that uses Continuous Integration can admit, that the continuous integration server became much more than just build-machine. It functions as company's central monitor for the healthiness and readiness of the software being developed. It answers many questions raised by developers, analysts, product managers, development managers, operations etc. But more than this, it became the center of communication for those team members. You can often hear conversations like those:

- I am waiting for you to finish this feature, can you let me know when you're done?
- I will commit the interface of service, so you could consume it. I'll send you an email when I do.

Those conversation led me to writing a TeamCity extension named TeamCityZen, since we are sort of citizens of the city named TeamCity. The extension enables mentioning somebody's username in commit comments. User who was mentioned in the comments will be notified by email. Support any kind of Source Control: Git, TFS, Subversion, etc.

Screenshot from TFS:






Feel free to download, use and extend.

More details: https://github.com/borismod/TeamCityZen


Clean Code Alliance second meeting summary

If you are a constant reader of this blog, you must noticed that my friend Itzik Saban and I organized a meetup group: Clean Code Alliance. Recently its second meeting took place at Kenshoo offices. We were really excited to see the growing interest to clean code in general and to our group in particular. Except of the sessions itself there is vital networking that takes place between the sessions.

On group's second meeting there were two sessions, which can be watched on group's YouTube channel:
https://www.youtube.com/user/CleanCodeAlliance



Clean Code Principles - part II by Itzik Saban


Continuous Delivery in Practice by Tzach Zohar

In order to keep in touch between the meetings, feel free to follow the group on twitter: @CleanCodeAll
and join discussions on LinkedIn group:  http://www.linkedin.com/groups/Clean-Code-Alliance-8104602

See you on the coming meetup!

Thursday, 17 April 2014

BizArk.Core 2.0.14 was pushed to NuGet

Bizark.Core 2.0.14 was pushed to NuGet

Release notes:
9290   Not parse array of string

Example:

[CmdLineOptions(ArgumentPrefix = "-", AssignmentDelimiter = ':', ArraySeparator = ";")]
public class CmdLineObjectWithStringArray : CmdLineObject
{
    [CmdLineArg]
    public string[] Names { get; set; }
}
You can invoke the console application from command line:

MyConsoleApplication -Names:1;2

Bizark.Core will parse the values into string array of Names: { "1", "2"}



Enjoy!

Tuesday, 1 April 2014

TeamCity hidden shortcuts

My colleague says, that he hates JetBrains as a company. He cannot find anything wrong or ineffective in their products. He is surprised that they just work. Work as expected and even better. They foresee our needs and our requirements and have already implemented them.

In this post I would like to share you the keyboard shortcuts I found in TeamCity:

p is a shortcut for searching among project names. Strike "p" and then start typing a project name Available in TeamCity 7.0

j is a shortcut for searching projects and build configurations in the same root project. Strike "j" and then start typing a project name or a build configuration name. Available from TeamCity 8.0

And the most powerful:
q is a shortcut for searching both projects and build configurations. Strike "j" and then start typing a project name or a build configuration name. Available from TeamCity 8.0

P.S. Thanks to JetBrains and Pluralsignt for supporting CleanCodeAlliance group.

UPDATE: I've got a reply from JetBrains employee on twitter that there are even more keyboard shortcuts in TeamCity's Changes page in version 8.1:

up/down to navigate, right/left to expand changes.  And 'f', 'b', 't' to open specific tabs of the selected change

Thanks to Kirill Maximov @maxkir

According to Kirill there is no official documentation about the shortcuts. So I will maintain this post as a sporadic one.

Monday, 17 March 2014

Clean Code Alliance group on Meetup

My friend Itzik Saban and I opened a new group on Meetup: Clean Code Alliance. You may ask, who needs another group and more meetings when there are a lot of them talking about almost every technical aspect of software engineering. Most of the groups are focused on specific technology or domain. The purpose of Clean Code Alliance is to return to the basics - to quality and clean code. We would like to talk about clean code principles, TDD issues, domain driven design concepts, applicative information security principles, anti-patterns in programming and testing, quality code metrics.

Feel free to join the group on meetup: Clean Code Alliance