Found 1 record.
Errata ID: 3204
Status: Held for Document Update
Type: Technical
Reported By: Alfred Hoenes
Date Reported: 2012-04-27
Held for Document Update by: Ralph Droms
Section 6. IANA Cons says:
4. change the listing of any options listed as "Tentatively-Assigned" | to "Unavailable" 18 months from this RFC's publication date and periodically thereafter as long as there is an option listed as "Tentatively-Assigned", if no un-expired Internet-Draft exists documenting the usage.
It should say:
4. change the listing of any options listed as "Tentatively-Assigned" | to "Unassigned" 18 months from this RFC's publication date and periodically thereafter as long as there is an option listed as "Tentatively-Assigned", if no un-expired Internet-Draft exists documenting the usage.
Notes:
The body of the RFC clearly states in Section 4, bullet 4.
that the IANA action desired by the RFC is to make these code
points available for assignment after the 18-month grace period.
This Errata Note is tagged as "Technical" because the inconsistency
between the IANA Considerations and the body of the RFC apparently
has caused IANA to not follow the body and spirit of the RFC -- at
the time this Errata Note is being filed, there are several entries
left in the BOOTP+DHCP parameters option codes registry that should
have been cleaned up and made available for assignment since the
publication of RFC 3942 in November 2004.


| (A) | ---- no text ---- | |
| 309 | (C) | ¶ That þey deden hem to þe detħ . with dentes of swerde |
| 310 | (D) | þei ded hem ałł to þe dethe wiþ dintis of swerd |
| 311 | (E) | they dude hem alle to þe deetħ . witħ dyntys of swerdys |
| (Ex) | ---- no text ---- | |
| 319 | (L) | bot diden alle to þe deþe & drowen hem after |
| 307 | (P) | Bot did þaim ałł to þe dede & draue þaim ałł doune |
| 305 | (U) | Their did hem alle to the detħ / that thei catche mygħt |
| (V) | ---- no text ---- |


I have a setup of 9 inputs, each input is measured once per second. The data is coming in on a raspberry Pi through the GPIO serial RX line.
At first I received a lot of garbled data, so I started to investigate. First thing I saw was this: Somehow the data was coming in way slower than when I watched the serial monitor directly. So I checked the serial buffer. In the emonhub_interfacer.py file I added a
print(self._ser.inWaiting())
call in the beginning of the read function of the serial interfacer to debug (the inWaiting() function of pyserial returns the number of bytes in the buffer). It turned out the serial buffer was overflowing quite soon after startup.
I solved it by decreasing the delay in the read loop in emonhub.py, in the run function there is
time.sleep(0.2)
which causes the program to wait 0.2 seconds between each reading (=line in the serial input). So 9 lines coming in each second: that is 1.8 seconds of processing time needed each second.
I am using a raspberry Pi 2 (which has increased processing power over the early models) the processor load of 1 cores goes up to 100% when you remove the delay completely. When I left it in at 0.05 seconds I have a load of 10%.
Some extra background info (why I have 9 inputs):
I have a setup where I read the power of 9 inputs. 3 inputs (CT sensor) on PCB A and 6 inputs (hall efect sensors) on PCB B. The TX line of PCB B is connected to the RX of PCB A. The TX line of PCB A is connected to the RX on the GPIO of a raspberry Pi.
PCB A contains a call in the main loop to the function forward_data() which is defined as follows:
void forward_data(){
while (Serial.available()) {
{
String str = Serial.readStringUntil('\r\n');
Serial.println(str);
}
}}
Re: Emonhub on Pi - serial buffer overflow - read loop iteration speed
Interesting to know, The interval in emonhub.py will become detached from the interfacer loop times in the next version as the interfacers will each be operating in their own thread. The read speed is still important so this info is good to know even if 9 payloads a second is a bit on the extreme end.
Out of interest, what baud are you running at and what size is an average payload.
Paul
Re: Emonhub on Pi - serial buffer overflow - read loop iteration speed
I am using a baud rate of 9600, average payload size is 30-40 characters.


DECODE Expression
A DECODE expression replaces a specific value with either another specific value or a default value, depending on the result of an equality condition. This operation is equivalent to the operation of a simple CASE expression or an IF-THEN-ELSE statement.
Syntax
DECODE ( expression, search, result [, search, result ]... [ ,default ] )
This type of expression is useful for replacing abbreviations or codes that are stored in tables with meaningful business values that are needed for reports.
Parameters
- expression
-
The source of the value that you want to compare, such as a column in a table.
- search
-
The target value that is compared against the source expression, such as a numeric value or a character string. The search expression must evaluate to a single fixed value. You cannot specify an expression that evaluates to a range of values, such as
age between 20 and 29
; you need to specify separate search/result pairs for each value that you want to replace.The data type of all instances of the search expression must be the same or compatible. The expression and search parameters must also be compatible.
- result
-
The replacement value that query returns when the expression matches the search value. You must include at least one search/result pair in the DECODE expression.
The data types of all instances of the result expression must be the same or compatible. The result and default parameters must also be compatible.
- default
-
An optional default value that is used for cases when the search condition fails. If you do not specify a default value, the DECODE expression returns NULL.
Usage Notes
If the expression value and the search value are both NULL, the DECODE result is the corresponding result value. For an illustration of this use of the function, see the Examples section.
When used this way, DECODE is similar to NVL2 Expression, but there are some differences. For a description of these differences, see the NVL2 usage notes.
Examples
When the value 2008-06-01
exists in the START_DATE column of
DATETABLE, the following example replaces it with June 1st, 2008
. The
example replaces all other START_DATE values with NULL.
select decode(caldate, '2008-06-01', 'June 1st, 2008') from date where month='JUN' order by caldate; case ---------------- June 1st, 2008 ... (30 rows)
The following example uses a DECODE expression to convert the five abbreviated
CATNAME columns in the CATEGORY table to full names and convert other values in the
column to Unknown
.
select catid, decode(catname, 'NHL', 'National Hockey League', 'MLB', 'Major League Baseball', 'MLS', 'Major League Soccer', 'NFL', 'National Football League', 'NBA', 'National Basketball Association', 'Unknown') from category order by catid; catid | case -------+--------------------------------- 1 | Major League Baseball 2 | National Hockey League 3 | National Football League 4 | National Basketball Association 5 | Major League Soccer 6 | Unknown 7 | Unknown 8 | Unknown 9 | Unknown 10 | Unknown 11 | Unknown (11 rows)
Use a DECODE expression to find venues in Colorado and Nevada with NULL in the VENUESEATS column; convert the NULLs to zeroes. If the VENUESEATS column is not NULL, return 1 as the result.
select venuename, venuestate, decode(venueseats,null,0,1) from venue where venuestate in('NV','CO') order by 2,3,1; venuename | venuestate | case ------------------------------+----------------+----------- Coors Field | CO | 1 Dick's Sporting Goods Park | CO | 1 Ellie Caulkins Opera House | CO | 1 INVESCO Field | CO | 1 Pepsi Center | CO | 1 Ballys Hotel | NV | 0 Bellagio Hotel | NV | 0 Caesars Palace | NV | 0 Harrahs Hotel | NV | 0 Hilton Hotel | NV | 0 ... (20 rows)


To create text for your web document, start a multi-line comment block using /***
and end with ***/
.
Add headers to your web document by putting hash symbols before text inside comment blocks, e.g. # Header 1
. The more hash symbols, the deeper the level in the table of contents and the smaller the header font size will be. All headers will be added to the table of contents automatically
You can indicate code in-line to text by using double tick marks, e.g. `some code here`
. Code blocks run by Stata are added by putting regular lines of code in your .do file outside of the comment blocks. For more advanced options for adding and suppressing code, see the webdoc help file.
Take advantage of the OpenSDPsynthR
synthetic data engine by downloading a college-going analysis file for use in Stata with the webuse
command.
You can also generate a synthetic dataset based on your own data using the synthpop
package in R.
webdoc graph
to add graphs to your webdoc. The example below is from the OpenSDP college-going analyses.You should feel free to create and annotate your project as you see fit. However, if you have trouble getting started here's an example outline for your project. We suggest providing some text with code about how you pulled your data together. Then, unlock the power of webdocs by providing additional text on the context and reasoning behind your analyses.
In this section, describe the process you use to clean the data, organize the variables, and apply business rules for data consistency.
In this section, describe how you combine data from different levels of aggregation and compute calculated variables to create a data set (or data sets) suitable for analysis.
In this section, describe your analyses and show the code you used to complete each analysis. Include diagnostic plots, summary tables, and model output.
In this section, make your final results available. Include explanatory graphics that you would use in a presentation. Include ways of demonstrating the substantive impact of your results.


Regular expressions can be very useful in your programming career and having a good understanding of them will be essential. A regular expression is used to match a pattern against strings. Also called Regexps, they are created using the /.../ or the Regexp::new constructor. Regular expression are basically code using weird symbols to symbolize characters. Regular expressions are patterns which describe the contents of a string. They’re used for testing whether a string contains a given pattern, changing or extracting the portions that match. Here are some examples:
All regex start with / / so the stuff inside the / / will be executed. Above, the ^ refers to the beginning of the string and the dots represent the number of characters. Therefore, this sub method will replace the first two characters in the string, “hi” with “hey”.
The next common regex is the scan method. Which looks like this: .scan(/…/). This scan method will spit the string by each three characters. The /…/ means all characters including spaces. However if you don’t want to have whitespaces and only letters, numbers, and symbols; the same thing could be done with /\S\S\S/. You also can us /\d/, which will search for numbers. For example:
This will return 100 and because if you add the + to the “d” inside the regex it means that it can be any length of digits.
This should be self-explanatory as this will scan the range.
The next is match. For example:
If the above telephone number contains any of the range in the regex you will receive the error message like above because there is a “q” at the end. Hopefully now you have a decent understanding about Regular Expressions and can use them for themselves.
Matt


org.jsfml.internal
Interfaces
Const
Classes
IntercomHelper
NativeRef
SFMLErrorCapture
SFMLInputStream
SFMLInputStream.NativeStreamRef
SFMLNative
SFMLNativeObject
StreamUtil
UnsafeOperations
Errors
JSFMLError
Annotation Types
Intercom


Window on my screen--VS "Processing requests from the background thread." Did the dev fail to understand what "background" means?
10/6/2008, 11:29:28 AM
Favs: 0
Retweets: 0
link--- layout: tweet ---
Window on my screen--VS "Processing requests from the background thread." Did the dev fail to understand what "background" means?
10/6/2008, 11:29:28 AM
Favs: 0
Retweets: 0
link


Hello
Table of Contents
## Table of Contents
- [Introduction](#Introduction)
- [How to Enter](#How_to_Enter)
- [Categories](#Categories)
- [BizTalk](#BizTalk)
- [Forefront Identity Manager](#Forefront_Identity_Manager)
- [SharePoint 2010 / 2013](#SharePoint_twentyten_twentythirteen)
- [Small Basic](#Small_Basic)
- [SQL BI and Power BI](#SQL_BI_amp_Power_BI)
- [SQL Server General and Database Engine](#SQL_Server_General_amp_Database_Engine)
- [System Center](#System_Center)
- [Transact-SQL](#Transact-SQL)
- [Visual Basic](#Visual_Basic)
- [Visual C#](#Visual_C)
- [Windows Phone and Windows Store Apps](#Windows_Phone_and_Windows_Store_Apps)
- [Windows Presentation Foundation (WPF)](#Windows_Presentation_Foundation_WPF)
- [Windows Server](#Windows_Server)
- [Wiki and Portals](#Wiki_and_Portals)
- [See Also](#See_Also)
- [February Forum Announcements](#January_Forum_Announcements)
# Introduction
[![ ](http://social.technet.microsoft.com/wiki/resized-image.ashx/__size/200x0/__key/communityserver-wikis-components-files/00-00-00-00-05/2352.closed.png)](http://social.technet.microsoft.com/wiki/cfs-file.ashx/__key/communityserver-wikis-components-files/00-00-00-00-05/2352.closed.png)
February's competition has now closed.
March's competition page is [
HERE](http://social.technet.microsoft.com/wiki/contents/articles/23330.technet-guru-contributions-for-march.aspx).
If you contribute any new code, or solutions to problems in the following categories, please add your content (that you write for a Forum or Blog) to TechNet Wiki, and then add a link to your TechNet Wiki article below, to let us know.
**This is a TechNet Wiki awards program, so we only want
WIKI LINKS for articles created in February, not old external forum or gallery links.** If you have already made a contribution on the forums or gallery, simply copy it into the wiki and reference the original
article, like shown here.
One winner in each category will be selected each month for glory and adoration by the MSDN/TechNet Ninjas and community as a whole. This includes a dedicated blog post in the Wiki Ninjas blog, a tweet from the Wiki Ninjas Twitter account, an announcement
on your forum, and other acknowledgement from the community.
Winners will be voted on by five judges. The judges consist of 3 TechNet Wiki Community Council members and 2 Microsoft Employee SMEs (Subject Matter Experts -usually the people making the technologies). The judges will be looking for articles that are thorough,
technically accurate, visually clear (images might help, but aren't necessary), and well written. (Any community member can help with the "technically accurate" part by reviewing the articles below and either fixing inaccuracies in the article or commenting
on them--asking questions or suggesting fixes.)
**The articles must be written in February 2014 and must be in English.** However, the original blog or forum content can be from before February. Make sure you aren't taking credit for someone else's content (you have to be the author of the
original content and of the Wiki article). The categories listed are targeted to the most popular forums/technologies and ones that we are able to support. We will add more categories as we go (please don't add more categories, instead, leave a comment at
the bottom to suggest a new category).
 You can also create a new article not related to your forums contributions.
> A) Log into TechNet/MSDN with your Microsoft credentials
>
>
>
> B) Add your content as an article to TechNet Wiki: [
http://social.technet.microsoft.com/wiki/contents/articles/add.aspx%20](http://social.technet.microsoft.com/wiki/contents/articles/add.aspx%20)
If you are copying and pasting your MSDN/TechNet forum solutions over to TechNet Wiki, please give some introduction to the problem, make sure your steps are clear, and then link to the original forum post. You can also paste in your blog posts (rather than
forum content).
**2) Tell us about it**
To add a link to your article:
> A) Log into TechNet with your Microsoft credentials
>
> B) Click the "Edit" tab, above this article title, and copy in the URL to your TechNet Wiki article into the appropriate section.
>
>
>
> [![ ](http://social.technet.microsoft.com/wiki/resized-image.ashx/__size/550x0/__key/communityserver-wikis-components-files/00-00-00-00-05/7608.TechNet_2D00_Guru.gif)](http://social.technet.microsoft.com/wiki/cfs-file.ashx/__key/communityserver-wikis-components-files/00-00-00-00-05/7608.TechNet_2D00_Guru.gif)
# Categories
Add Your Contributions for February in the Sections Below...
**NOTE**: These **MUST**be TechNet Wiki articles, and they
**MUST**be written in February 2014.
## BizTalk
The TechNet Guru competition is announced in the forums, links are listed below.
Post a link to the **TechNet Wiki page** of your BizTalk contribution here:
- [Using Windows Azure BizTalk Services to Insert XML Messages into an Azure SQL
Server](http://social.technet.microsoft.com/wiki/contents/articles/22919.using-windows-azure-biztalk-services-to-insert-xml-messages-into-an-azure-sql-server.aspx) by [
Mohit Gupta](http://social.technet.microsoft.com/profile/mohit%20kumar%20gupta/)
- [Using Windows Azure Biztalk Service to receive EDI file from multiple
partner and convert to XML](http://social.technet.microsoft.com/wiki/contents/articles/22824.using-windows-azure-biztalk-service-to-receive-edi-file-from-multiple-partner-and-convert-to-xml.aspx) by [
Mohit Gupta](http://social.technet.microsoft.com/profile/mohit%20kumar%20gupta/)
- [BizTalk Server : How Map Works on Port Level](http://social.technet.microsoft.com/wiki/contents/articles/22878.biztalk-server-how-map-works-on-port-level.aspx) by
[Maheshkumar S Tiwari](http://social.technet.microsoft.com/Profile/maheshkumar%20s%20tiwari)
- [A Multi-Type Flat File Assembler for Multi-Part Messages](http://social.technet.microsoft.com/wiki/contents/articles/23164.a-multi-type-flat-file-assembler-for-multi-part-messages.aspx) by
[
Peter Lindgren](http://social.technet.microsoft.com/profile/peter%20lindgren,%20sigma/)
- [Windows Azure BizTalk Services Operations: Backup and Restore](http://social.technet.microsoft.com/wiki/contents/articles/23198.windows-azure-biztalk-services-operations-backup-and-restore.aspx) by
[
Steef-Jan Wiggers](http://social.technet.microsoft.com/profile/steef-jan%20wiggers/)
- [Migrating BizTalk Server maps to Windows Azure BizTalk Services (WABS) maps](http://social.technet.microsoft.com/wiki/contents/articles/23220.migrating-biztalk-server-maps-to-windows-azure-biztalk-services-wabs-maps.aspx) by
[
Sandro Pereira](http://social.technet.microsoft.com/profile/sandro%20pereira/)
- [Windows Azure BizTalk Services: Upgrade to February 2014 SDK](http://social.technet.microsoft.com/wiki/contents/articles/23212.windows-azure-biztalk-services-upgrade-to-february-2014-sdk.aspx) by
[
Lex Hegt](http://social.technet.microsoft.com/profile/lex%20hegt/)
- [How to integrate Two way WCF Service with Windows Azure Biztalk Services](http://social.technet.microsoft.com/wiki/contents/articles/23189.how-to-integrate-two-way-wcf-service-with-windows-azure-biztalk-services.aspx) by
[Mohit Gupta](http://social.technet.microsoft.com/profile/mohit%20kumar%20gupta/)
## Forefront Identity Manager
The TechNet Guru competition is announced in the forums links available below.
Post a link to the **TechNet Wiki page** of your FIM contribution here:
- [Demystify Kerberos setup with FIM 2010 R2 with SSPR](http://social.technet.microsoft.com/wiki/contents/articles/22953.demystify-kerberos-setup-with-fim-2010-r2-with-sspr.aspx) by
[
James Resue](http://social.technet.microsoft.com/profile/james%20t.%20resue/)
- [Handling a composite type request for multivalued attributes](http://social.technet.microsoft.com/wiki/contents/articles/23191.handling-a-composite-type-request-for-multivalued-attributes.aspx) by
[Majd Andoni](http://social.technet.microsoft.com/profile/majd%20andoni/)
- [FIM 2010 R2 & BHold: How to create and use Supervisor Role](http://social.technet.microsoft.com/wiki/contents/articles/23310.fim-2010-r2-bhold-how-to-create-and-use-supervisor-role.aspx) by
[Eihab Isaac](http://social.technet.microsoft.com/Profile/eihab%20isaac)
## SharePoint 2010 / 2013
The TechNet Guru competition is announced in the forums, links are listed below.
Post a link to the **TechNet Wiki page** of SharePoint contribution here
- [How to update parent folders when child contents are modified](http://social.technet.microsoft.com/wiki/contents/articles/23012.how-to-update-parent-folders-timestamps-when-child-contents-have-been-modified.aspx) by
[
Steven Andrews](http://social.technet.microsoft.com/Profile/steven%20andrews "Steven Andrews Profile")
- [Custom
BCS connector for Search with Security Trimming, Batching and Incremental Crawling](http://social.technet.microsoft.com/wiki/contents/articles/22945.sharepoint-2010-custom-bcs-connector-for-search-with-security-trimming-batching-incremental-crawling.aspx "Custom BCS connector for Search with Security Trimming, Batching, Incremental Crawling") by
[
Nitin Gupta](http://social.technet.microsoft.com/profile/nitin%20k.%20gupta/)
- [Search Service Application Issue with AAM](http://social.technet.microsoft.com/wiki/contents/articles/23032.search-service-application-issue-with-aam.aspx) by
[Dan Christian](http://social.technet.microsoft.com/profile/dan%20christian/)
- [SharePoint URL Rewrite](http://social.technet.microsoft.com/wiki/contents/articles/23074.sharepoint-url-rewrite.aspx) by
[Dan Christian](http://social.technet.microsoft.com/profile/dan%20christian/)
- [PowerShell 3.0 issue with SharePoint 2010](http://social.technet.microsoft.com/wiki/contents/articles/23151.powershell-3-0-issue-with-sharepoint-2010.aspx) by
[
Mohammad Nizamuddin](http://social.technet.microsoft.com/profile/mohammad%20nizamuddin/)
- [Device Channels in SharePoint 2013](http://social.technet.microsoft.com/wiki/contents/articles/23157.device-channels-in-sharepoint-2013.aspx) by
[
Geetanjali Arora](http://social.msdn.microsoft.com/profile/geetanjali%20arora/)
- [How to find custom columns that are used in lists within a site programmatically](http://social.technet.microsoft.com/wiki/contents/articles/23311.sharepoint-2010-how-to-find-custom-columns-that-are-used-in-lists-in-a-site-programmatically.aspx)
by [
Ramakrishnaraja](http://social.technet.microsoft.com/profile/ramakrishnaraja/)
## Small Basic
The TechNet Guru competition is announced in the forums, links are listed below.
Post a link to the **TechNet Wiki page** of your Small Basic contribution here:
- [Olympics - Small Basic Style!](http://social.technet.microsoft.com/wiki/contents/articles/22974.olympics-small-basic-style.aspx) by
[
Joe Dwyer (DwyerTech)](http://social.technet.microsoft.com/wiki/546651/ProfileUrlRedirect.ashx)
- [How to Install Small Basic onto Windows 8.1](http://social.technet.microsoft.com/wiki/contents/articles/23122.how-to-install-small-basic-onto-windows-8-1.aspx) by
[
Nonki Takahashi](http://social.technet.microsoft.com/wiki/187046/ProfileUrlRedirect.ashx)
- [Small Basic: Color](http://social.technet.microsoft.com/wiki/contents/articles/23227.small-basic-color.aspx) by
[
Nonki Takahashi](http://social.technet.microsoft.com/wiki/187046/ProfileUrlRedirect.ashx)
- [Small Basic Known Issue: 23257 - GraphicsWindow.GetPixel() Returns Alpha Blending
Color in Remote](http://social.technet.microsoft.com/wiki/contents/articles/23257.small-basic-known-issue-23257-graphicswindow-getpixel-returns-alpha-blending-color-in-remote.aspx) by [
Nonki Takahashi](http://social.technet.microsoft.com/wiki/187046/ProfileUrlRedirect.ashx)
## SQL BI and Power BI
The TechNet Guru competition is announced in the forums, links are listed below.
Post a link to the **TechNet Wiki page** of your BI contribution here:
- [Geocoding](http://social.technet.microsoft.com/wiki/contents/articles/23214.geocoding.aspx)by[HimanshuSharma](http://social.technet.microsoft.com/wiki/450643/ProfileUrlRedirect.ashx)
- [The Devil is in the Details](http://social.technet.microsoft.com/wiki/contents/articles/23295.ssrs-the-devil-is-in-the-details.aspx) by
[Tim Pacl](http://social.technet.microsoft.com/profile/Tim%20Pacl/)
## SQL Server General and Database Engine
The TechNet Guru competition is announced in the forums, links are listed below.
Post a link to the**TechNet Wiki page** of your SQL Server contribution here:
- Automate database migration between SQL Server Instances by Ahmad Osama
- [SQL Server: Instant File Initialization Exceptions](http://social.technet.microsoft.com/wiki/contents/articles/23269.sql-server-instant-file-initialization-exceptions.aspx) by
[
Praveen Rayan D'sa](http://social.msdn.microsoft.com/profile/praveen%20rayan%20d%27sa)
- [Ghost "Rows" Buster in SQL Server](http://social.technet.microsoft.com/wiki/contents/articles/23290.ghost-rows-buster-in-sql-server.aspx) by
[Durval Ramos](http://social.technet.microsoft.com/profile/durval%20ramos/)
- [Effective use of Keyboard Shortcuts with SQL Server Management Studio](http://social.technet.microsoft.com/wiki/contents/articles/23286.effective-use-of-keyboard-shortcuts-with-sql-server-management-studio.aspx) by
[Jayakumaur (JK)](http://social.msdn.microsoft.com/Profile/jayakumaur%20(jk)/activity)
## System Center
The TechNet Guru competition is announced in the forums, links are listed below.
Post a link to the**TechNet Wiki page** of your System Center contribution here:
- [SCOM 2012 VSAE – Extend Microsoft.Windows.Computer Class with Powershell and Active
Directory](http://social.technet.microsoft.com/wiki/contents/articles/23215.scom-2012-vsae-extend-microsoft-windows-computer-class-with-powershell-and-active-directory.aspx) by [
ChristophMaresch](http://social.technet.microsoft.com/Profile/christophmaresch)
- [How to manage Pending Reboots of your AD-Integrated servers using Orchestrator
](http://social.technet.microsoft.com/wiki/contents/articles/23224.how-to-manage-pending-reboots-of-your-ad-integrated-servers-using-orchestrator.aspx)by
[Mr X](http://social.technet.microsoft.com/profile/mr%20%20x/)
- [How to suppress the system restart on devices in a Software Updates Automatic Deployment
Rule](http://social.technet.microsoft.com/wiki/contents/articles/23317.how-to-suppress-the-system-restart-on-devices-in-a-software-updates-automatic-deployment-rule.aspx)
by [Mr X](http://social.technet.microsoft.com/profile/mr%20%20x/)
## Transact-SQL
The TechNet Guru competition is announced in the forums, links are listed below.
Post a link to the **TechNet Wiki page** of your T-SQL contribution here:
- [T-SQL : enable/disable an alert](http://social.technet.microsoft.com/wiki/contents/articles/23106.t-sql-enabledisable-an-alert.aspx) by
[
M. Mahfoud EL HOUDAIGUI](http://social.technet.microsoft.com/wiki/597722/ProfileUrlRedirect.ashx)
- [T-SQL: the primordial Alerts (Best Practices)](http://social.technet.microsoft.com/wiki/contents/articles/23107.t-sql-the-primordial-alerts-best-practices.aspx) by
[
M. Mahfoud EL HOUDAIGUI](http://social.technet.microsoft.com/wiki/597722/ProfileUrlRedirect.ashx)
- [T-SQL : create and test an alert](http://social.technet.microsoft.com/wiki/contents/articles/23105.t-sql-create-and-test-an-alert.aspx) by
[
M. Mahfoud EL HOUDAIGUI](http://social.technet.microsoft.com/wiki/597722/ProfileUrlRedirect.ashx)
- [T-SQL : Performing row wise string operations in SQL Server](http://social.technet.microsoft.com/wiki/contents/articles/22869.performing-row-wise-string-operations-in-sql-server.aspx) by
[
Jayakumaur (JK)](http://social.msdn.microsoft.com/profile/jayakumaur%20(jk)/ "JK")
- [T-SQL - Understanding Triggers
](http://social.technet.microsoft.com/wiki/contents/articles/23302.t-sql-understanding-triggers.aspx)by [
Himanshu Sharma](http://social.technet.microsoft.com/Profile/himanshusharma "Himanshu Sharma")
## Visual Basic
The TechNet Guru competition is announced in the forums, links are listed below.
Post a link to the**TechNet Wiki page** of your VB contribution here:
-
-
## Visual C#
The TechNet Guru competition is announced in the forums, links are listed below.
Post a link to the **TechNet Wiki page** of your C# contribution here:
- [Avoiding deadlock in async/await](http://social.technet.microsoft.com/wiki/contents/articles/23103.avoiding-deadlock-in-asyncawait.aspx) by
Tonchi91
- [Quick note on Microsoft.Net Thread.Start, Delegate.BeginInvoke, Control.BeginInvoke](http://social.technet.microsoft.com/wiki/contents/articles/23152.quick-note-on-microsoft-net-thread-start-delegate-begininvoke-control-begininvoke.aspx)
by [
Mohammad Nizamuddin](http://social.technet.microsoft.com/profile/mohammad%20nizamuddin/)
- [How to Publish ASP.NET MVC Web Application to Windows Azure](http://social.technet.microsoft.com/wiki/contents/articles/23217.how-to-publish-asp-net-mvc-web-application-to-windows-azure.aspx) by
[
João Sousa](http://social.technet.microsoft.com/profile/jo%C3%A3o%20eduardo%20sousa/)
- [Windows Azure Getting Started - Basic Operations on Blob Storage](http://social.technet.microsoft.com/wiki/contents/articles/22895.windows-azure-getting-started-basic-operations-on-blob-storage.aspx) by
[
João Sousa](http://social.technet.microsoft.com/profile/jo%C3%A3o%20eduardo%20sousa/)
- [ASP.NET MVC 5 - Routing](http://social.technet.microsoft.com/wiki/contents/articles/22898.asp-net-mvc-5-routing.aspx) by
[
João Sousa](http://social.technet.microsoft.com/profile/jo%C3%A3o%20eduardo%20sousa/)
- [Lock Statement in C#](http://social.technet.microsoft.com/wiki/contents/articles/23218.lock-statement-in-c.aspx) by
[
Jaliya Udagedara](http://social.technet.microsoft.com/profile/jaliya%20udagedara/)
- [Analogy on BackgroundWorker thread in C#
](http://social.technet.microsoft.com/wiki/contents/articles/23255.analogy-on-backgroundworker-thread-in-c-net.aspx)by [Shweta Lodha](http://social.technet.microsoft.com/profile/shweta%20jain/)
- [Overload Resolution Revisited](http://social.technet.microsoft.com/wiki/contents/articles/23110.overload-resolution-revisited-in-net-4-5.aspx) by
[Shweta Lodha](http://social.technet.microsoft.com/profile/shweta%20jain/)
## Windows Phone and Windows Store Apps
The TechNet Guru competition is announced in the forums, links are listed below.
Post a link to the **TechNet Wiki page** of your Windows Phone contribution here:
- [A Collection of Useful MVVM Tricks](http://social.technet.microsoft.com/wiki/contents/articles/23163.a-collection-of-useful-mvvm-tricks.aspx) by
[Mcosmin](http://social.technet.microsoft.com/profile/mcosmin/)
- [C# helper class for parse Foursquare venue API in Windows Phone](http://social.technet.microsoft.com/wiki/contents/articles/23262.c-helper-class-for-parse-foursquare-venue-api-in-windows-phone.aspx) by
[
Isham Mohamed](http://social.technet.microsoft.com/profile/ishammohamed/)
## Windows Presentation Foundation (WPF)
The TechNet Guru competition is announced in the forums, links are listed below.
Post a link to the **TechNet Wiki page** of your WPF contribution here:
- [Trick To Use A ResourceDictionary Only When In Design Mode](http://social.technet.microsoft.com/wiki/contents/articles/23287.trick-to-use-a-resourcedictionary-only-when-in-design-mode.aspx) by
[dev hedgehog](http://social.technet.microsoft.com/Profile/dev%20hedgehog)
- [Using the Event Aggregator
Pattern to Communicate Between View Models](http://social.technet.microsoft.com/wiki/contents/articles/23314.using-the-event-aggregator-pattern-to-communicate-between-view-models.aspx "Using the Event Aggregator Pattern to Communicate Between View Models") by [
Magnus (MM8)](http://social.msdn.microsoft.com/profile/magnus%20(mm8)/ "Magnus (MM8)")
## Windows Server
The TechNet Guru competition is announced in the forums, links are listed below.
Post a link to the**TechNet Wiki page** of your contribution here:
- **[Troubleshooting - WMI quota voilation causing slow logon on domain controllers](http://social.technet.microsoft.com/wiki/contents/articles/23037.troubleshooting-wmi-quota-voilation-causing-slow-logon-on-domain-controllers.aspx)
by [
Himanshu.rana](http://social.technet.microsoft.com/profile/himanshu.rana/)**
- [Windows Server - Terminal Services - Set Default Printer with a local Script](http://social.technet.microsoft.com/wiki/contents/articles/22950.windows-server-terminal-services-set-default-printer-with-a-local-script.aspx) by
[Yagmoth555](http://social.technet.microsoft.com/profile/yagmoth555/)
- [Configuring a two node Windows Server 2008 R2 Failover Cluster on Hyper V using iSCSI](http://social.technet.microsoft.com/wiki/contents/articles/22903.configuring-a-two-node-windows-server-2008-r2-failover-cluster-on-hyper-v-using-iscsi.aspx)
by [NeoHypocrite](http://social.technet.microsoft.com/profile/neohypocrite/)
- [Active Directory: Attributes in the Partial Attribute Set](http://social.technet.microsoft.com/wiki/contents/articles/23097.active-directory-attributes-in-the-partial-attribute-set.aspx) by
[Richard Mueller](http://social.technet.microsoft.com/profile/richard%20mueller)
- [Windows Server: Top Spooler Issues](http://social.technet.microsoft.com/wiki/contents/articles/23161.windows-server-top-spooler-issues.aspx) by
[
Yagmoth555](http://social.technet.microsoft.com/wiki/151625/ProfileUrlRedirect.ashx)
- [How to manage your AD-integrated servers Life Cycle in virtualized environments
by using Powershell](http://social.technet.microsoft.com/wiki/contents/articles/23216.how-to-manage-your-ad-integrated-servers-life-cycle-in-virtualized-environments-by-using-powershell.aspx) by [
Mr X](http://social.technet.microsoft.com/profile/mr%20%20x/)
- [How to use Powershell to notify Active Directory users about password expiry](http://social.technet.microsoft.com/wiki/contents/articles/23313.how-to-use-powershell-to-notify-active-directory-users-about-password-expiry.aspx) by
[Mr X](http://social.technet.microsoft.com/profile/mr%20%20x/)
- [How to force an immediate refresh of Group Policy settings on domain-joined computers](http://social.technet.microsoft.com/wiki/contents/articles/23316.how-to-force-an-immediate-refresh-of-group-policy-settings-on-domain-joined-computers.aspx)
by [Mr X](http://social.technet.microsoft.com/profile/mr%20%20x/)
## Wiki and Portals
**This new category is for new articles ABOUT
TechNet Wiki itself, or portal pages (lists of links)**
The TechNet Guru competition is announced in the forums, links are listed below.
Post a link to the**TechNet Wiki page** of your contribution here:
- [Wiki: Format XML Markup using Notepad++](http://social.technet.microsoft.com/wiki/contents/articles/22915.wiki-format-xml-markup-using-notepad.aspx) by
[
Matthew Yarlett](http://social.technet.microsoft.com/Profile/matthew%20yarlett)
- [The CodePlex Corner](http://social.technet.microsoft.com/wiki/contents/articles/20771.article-index-the-codeplex-corner.aspx "The CodePlex Corner") (CodePlex Project Discussion Portal) by
[
Steven Andrews](http://social.technet.microsoft.com/wiki/6434/ProfileUrlRedirect.ashx "Steven Andrews Profile")
- [Article Spotlight](http://social.technet.microsoft.com/wiki/contents/articles/22938.article-spotlight.aspx) by
[Durval Ramos](http://social.technet.microsoft.com/profile/durval%20ramos/)
- [Windows Azure Portal](http://social.technet.microsoft.com/wiki/contents/articles/23120.windows-azure-portal.aspx) by
[Carsten Siemens](http://social.technet.microsoft.com/profile/carsten%20siemens/)
- [Yammer Portal](http://social.technet.microsoft.com/wiki/contents/articles/23307.yammer-portal.aspx) by
[
Benoit Jester - MTFC](http://blogs.technet.com/Benoit%20Jester%20-%20MTFC/ProfileUrlRedirect.ashx)
# See Also
- [TechNet Guru Contributions](http://social.technet.microsoft.com/wiki/contents/articles/17641.technet-guru-contributions.aspx)
- [List of Award Winning TechNet Guru Articles](http://social.technet.microsoft.com/wiki/contents/articles/19679.list-of-award-winning-technet-guru-articles.aspx)
# February Forum Announcements
- [http://social.technet.microsoft.com/Forums/en-US/a9bc2c95-5933-4464-a385-e928cc989d0a/spread-the-love-be-our-biztalk-technet-guru-this-valentines?forum=biztalkgeneral](http://social.technet.microsoft.com/Forums/en-US/a9bc2c95-5933-4464-a385-e928cc989d0a/spread-the-love-be-our-biztalk-technet-guru-this-valentines?forum=biztalkgeneral)
- [http://social.technet.microsoft.com/Forums/en-US/1e6acfc4-70ad-4019-84e5-56b4ce6600a4/spread-the-love-be-our-fim-technet-guru-this-valentines?forum=ilm2](http://social.technet.microsoft.com/Forums/en-US/1e6acfc4-70ad-4019-84e5-56b4ce6600a4/spread-the-love-be-our-fim-technet-guru-this-valentines?forum=ilm2)
- [http://social.msdn.microsoft.com/Forums/sharepoint/en-US/db37f6a4-9b3b-4e59-9369-a2dbd8def0eb/spread-the-love-be-our-sharepoint-2010-technet-guru-this-valentines?forum=sharepointgeneralprevious](http://social.msdn.microsoft.com/Forums/sharepoint/en-US/db37f6a4-9b3b-4e59-9369-a2dbd8def0eb/spread-the-love-be-our-sharepoint-2010-technet-guru-this-valentines?forum=sharepointgeneralprevious)
- [http://social.msdn.microsoft.com/Forums/sharepoint/en-US/93ba8b22-b073-43dc-a39d-c59ecb3a24f2/spread-the-love-be-our-sharepoint-2010-technet-guru-this-valentines?forum=sharepointdevelopmentprevious](http://social.msdn.microsoft.com/Forums/sharepoint/en-US/93ba8b22-b073-43dc-a39d-c59ecb3a24f2/spread-the-love-be-our-sharepoint-2010-technet-guru-this-valentines?forum=sharepointdevelopmentprevious)
- [http://social.msdn.microsoft.com/Forums/en-US/0a17af45-10c6-48cf-8ea5-97782545332c/spread-the-love-be-our-small-basic-technet-guru-this-valentines?forum=smallbasic](http://social.msdn.microsoft.com/Forums/en-US/0a17af45-10c6-48cf-8ea5-97782545332c/spread-the-love-be-our-small-basic-technet-guru-this-valentines?forum=smallbasic)
- [http://social.technet.microsoft.com/Forums/sqlserver/en-US/7c4d8094-22ec-4010-96e4-2ae58ff64c5b/spread-the-love-be-our-sql-server-technet-guru-this-valentines?forum=sqlgetstarted](http://social.technet.microsoft.com/Forums/sqlserver/en-US/7c4d8094-22ec-4010-96e4-2ae58ff64c5b/spread-the-love-be-our-sql-server-technet-guru-this-valentines?forum=sqlgetstarted)
- [http://social.technet.microsoft.com/Forums/sqlserver/en-US/2867a350-a428-4d47-92cf-3cbb027fbc56/spread-the-love-be-our-ss-dbe-technet-guru-this-valentines?forum=sqldatabaseengine](http://social.technet.microsoft.com/Forums/sqlserver/en-US/2867a350-a428-4d47-92cf-3cbb027fbc56/spread-the-love-be-our-ss-dbe-technet-guru-this-valentines?forum=sqldatabaseengine)
- [http://social.technet.microsoft.com/Forums/sqlserver/en-US/d7224bbc-ce2b-4264-a10f-b0f2c52833a5/spread-the-love-be-our-ssas-technet-guru-this-valentines?forum=sqlanalysisservices](http://social.technet.microsoft.com/Forums/sqlserver/en-US/d7224bbc-ce2b-4264-a10f-b0f2c52833a5/spread-the-love-be-our-ssas-technet-guru-this-valentines?forum=sqlanalysisservices)
- [http://social.technet.microsoft.com/Forums/sqlserver/en-US/0fa2c9c6-5ad1-4919-8cb5-b39e84879a54/spread-the-love-be-our-power-pivot-technet-guru-this-valentines?forum=sqlkjpowerpivotforexcel](http://social.technet.microsoft.com/Forums/sqlserver/en-US/0fa2c9c6-5ad1-4919-8cb5-b39e84879a54/spread-the-love-be-our-power-pivot-technet-guru-this-valentines?forum=sqlkjpowerpivotforexcel)
- [http://social.technet.microsoft.com/Forums/sqlserver/en-US/e34534de-2e1b-4fe9-92c2-2cfe928318de/spread-the-love-be-our-ssrs-technet-guru-this-valentines?forum=sqlreportingservices](http://social.technet.microsoft.com/Forums/sqlserver/en-US/e34534de-2e1b-4fe9-92c2-2cfe928318de/spread-the-love-be-our-ssrs-technet-guru-this-valentines?forum=sqlreportingservices)
- [http://social.technet.microsoft.com/Forums/sqlserver/en-US/4c10cfb7-03e1-4ae6-b43c-e7b7f63bef07/spread-the-love-be-our-ssis-technet-guru-this-valentines?forum=sqlintegrationservices](http://social.technet.microsoft.com/Forums/sqlserver/en-US/4c10cfb7-03e1-4ae6-b43c-e7b7f63bef07/spread-the-love-be-our-ssis-technet-guru-this-valentines?forum=sqlintegrationservices)
- [http://social.technet.microsoft.com/Forums/systemcenter/en-US/e884daaf-e58f-4097-95ca-7e0859dd5d44/spread-the-love-be-our-system-center-technet-guru-this-valentines?forum=configmgrgeneral](http://social.technet.microsoft.com/Forums/systemcenter/en-US/e884daaf-e58f-4097-95ca-7e0859dd5d44/spread-the-love-be-our-system-center-technet-guru-this-valentines?forum=configmgrgeneral)
- [http://social.technet.microsoft.com/Forums/en-US/564cb837-b372-4f15-9161-76efcd8f4682/spread-the-love-be-our-system-center-technet-guru-this-valentines?forum=configmanagergeneral](http://social.technet.microsoft.com/Forums/en-US/564cb837-b372-4f15-9161-76efcd8f4682/spread-the-love-be-our-system-center-technet-guru-this-valentines?forum=configmanagergeneral)
- [http://social.technet.microsoft.com/Forums/systemcenter/en-US/fbebc258-a0d7-4a9b-90fa-8b013e0db179/spread-the-love-be-our-system-center-technet-guru-this-valentines?forum=operationsmanagergeneral](http://social.technet.microsoft.com/Forums/systemcenter/en-US/fbebc258-a0d7-4a9b-90fa-8b013e0db179/spread-the-love-be-our-system-center-technet-guru-this-valentines?forum=operationsmanagergeneral)
- [http://social.technet.microsoft.com/Forums/en-US/a2579ef9-6f8e-4a28-96a3-c44984e359fb/spread-the-love-be-our-system-center-technet-guru-this-valentines?forum=dataprotectionmanager](http://social.technet.microsoft.com/Forums/en-US/a2579ef9-6f8e-4a28-96a3-c44984e359fb/spread-the-love-be-our-system-center-technet-guru-this-valentines?forum=dataprotectionmanager)
- [http://social.technet.microsoft.com/Forums/en-US/cfe38ad8-b0ea-4f7d-b6c7-c312a7281f3b/spread-the-love-be-our-system-center-technet-guru-this-valentines?forum=scogeneral](http://social.technet.microsoft.com/Forums/en-US/cfe38ad8-b0ea-4f7d-b6c7-c312a7281f3b/spread-the-love-be-our-system-center-technet-guru-this-valentines?forum=scogeneral)
- [http://social.technet.microsoft.com/Forums/systemcenter/en-US/76ba2170-0760-47b8-80ae-0a09d925c786/spread-the-love-be-our-system-center-technet-guru-this-valentines?forum=systemcenterservicemanager](http://social.technet.microsoft.com/Forums/systemcenter/en-US/76ba2170-0760-47b8-80ae-0a09d925c786/spread-the-love-be-our-system-center-technet-guru-this-valentines?forum=systemcenterservicemanager)
- [http://social.technet.microsoft.com/Forums/systemcenter/en-US/ad6a4ec4-4a26-4d76-b949-eb966860d0d5/spread-the-love-be-our-system-center-technet-guru-this-valentines?forum=virtualmachinemanager](http://social.technet.microsoft.com/Forums/systemcenter/en-US/ad6a4ec4-4a26-4d76-b949-eb966860d0d5/spread-the-love-be-our-system-center-technet-guru-this-valentines?forum=virtualmachinemanager)
- [http://social.technet.microsoft.com/Forums/en-US/a3428748-7e6a-4859-bf94-22c37ef78ea7/spread-the-love-be-our-system-center-technet-guru-this-valentines?forum=appcontroller](http://social.technet.microsoft.com/Forums/en-US/a3428748-7e6a-4859-bf94-22c37ef78ea7/spread-the-love-be-our-system-center-technet-guru-this-valentines?forum=appcontroller)
- [http://social.msdn.microsoft.com/Forums/sqlserver/en-US/9dc17633-1dc4-42b5-9a3d-de73ff477309/spread-the-love-be-our-tsql-technet-guru-this-valentines?forum=transactsql](http://social.msdn.microsoft.com/Forums/sqlserver/en-US/9dc17633-1dc4-42b5-9a3d-de73ff477309/spread-the-love-be-our-tsql-technet-guru-this-valentines?forum=transactsql)
- [http://social.msdn.microsoft.com/Forums/vstudio/en-US/ac4e57a4-3aff-46a8-8fbf-33fa8d1bba24/spread-the-love-be-our-vb-technet-guru-this-valentines?forum=vbgeneral](http://social.msdn.microsoft.com/Forums/vstudio/en-US/ac4e57a4-3aff-46a8-8fbf-33fa8d1bba24/spread-the-love-be-our-vb-technet-guru-this-valentines?forum=vbgeneral)
- [http://social.msdn.microsoft.com/Forums/vstudio/en-US/7f8bfc70-85f1-4039-8a60-4a11603c4edd/spread-the-love-be-our-c-technet-guru-this-valentines?forum=csharpgeneral](http://social.msdn.microsoft.com/Forums/vstudio/en-US/7f8bfc70-85f1-4039-8a60-4a11603c4edd/spread-the-love-be-our-c-technet-guru-this-valentines?forum=csharpgeneral)
- [http://social.msdn.microsoft.com/Forums/wpapps/en-US/4dd13cb0-4a52-4f68-bd9b-2841854d9630/spread-the-love-be-our-windows-phone-technet-guru-this-valentines?forum=wpdevelop](http://social.msdn.microsoft.com/Forums/wpapps/en-US/4dd13cb0-4a52-4f68-bd9b-2841854d9630/spread-the-love-be-our-windows-phone-technet-guru-this-valentines?forum=wpdevelop)
- [http://social.msdn.microsoft.com/Forums/windowsapps/en-US/7f6b4bb2-1c86-4407-aa99-98c2bd77ca55/spread-the-love-be-our-store-app-technet-guru-this-valentines?forum=winappswithcsharp](http://social.msdn.microsoft.com/Forums/windowsapps/en-US/7f6b4bb2-1c86-4407-aa99-98c2bd77ca55/spread-the-love-be-our-store-app-technet-guru-this-valentines?forum=winappswithcsharp)
- [http://social.msdn.microsoft.com/Forums/vstudio/en-US/55a8ede3-29bd-4752-a77e-0bb1dc582cae/spread-the-love-be-our-wpf-technet-guru-this-valentines?forum=wpf](http://social.msdn.microsoft.com/Forums/vstudio/en-US/55a8ede3-29bd-4752-a77e-0bb1dc582cae/spread-the-love-be-our-wpf-technet-guru-this-valentines?forum=wpf)
- [http://social.msdn.microsoft.com/Forums/windowsserver/en-US/bd371e07-7d5c-4ae8-b14a-396713aa9c2c/spread-the-love-be-our-windows-server-technet-guru-this-valentines?forum=windowsserversolutionssdk](http://social.msdn.microsoft.com/Forums/windowsserver/en-US/bd371e07-7d5c-4ae8-b14a-396713aa9c2c/spread-the-love-be-our-windows-server-technet-guru-this-valentines?forum=windowsserversolutionssdk)
- [http://social.technet.microsoft.com/Forums/en-US/2d0c2eff-8154-4077-b24d-138cb8657e01/spread-the-love-be-our-windows-server-technet-guru-this-valentines?forum=winserver8gen](http://social.technet.microsoft.com/Forums/en-US/2d0c2eff-8154-4077-b24d-138cb8657e01/spread-the-love-be-our-windows-server-technet-guru-this-valentines?forum=winserver8gen)
- [http://social.technet.microsoft.com/Forums/en-US/82be18b5-1065-4ec7-bfd9-c6aa7532a74e/spread-the-love-be-our-windows-server-technet-guru-this-valentines?forum=winservergen](http://social.technet.microsoft.com/Forums/en-US/82be18b5-1065-4ec7-bfd9-c6aa7532a74e/spread-the-love-be-our-windows-server-technet-guru-this-valentines?forum=winservergen)
- [http://social.technet.microsoft.com/Forums/en-US/c42fa794-8d88-4c51-8be6-9f6f64d62528/spread-the-love-be-our-windows-server-technet-guru-this-valentines?forum=winserverDS](http://social.technet.microsoft.com/Forums/en-US/c42fa794-8d88-4c51-8be6-9f6f64d62528/spread-the-love-be-our-windows-server-technet-guru-this-valentines?forum=winserverDS)
- [http://social.technet.microsoft.com/Forums/en-US/f149b4cf-fe19-4003-b1c2-161a34e10fac/spread-the-love-be-our-technet-wiki-guru-this-valentines?forum=tnwiki](http://social.technet.microsoft.com/Forums/en-US/f149b4cf-fe19-4003-b1c2-161a34e10fac/spread-the-love-be-our-technet-wiki-guru-this-valentines?forum=tnwiki)


New Remix - 7-7-2013
Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but with desktop publishing software like Aldus.


Interfaces and classes used by the various implementations in the sub-packages.
Definitive implementations of commonly used encoders and decoders.
Codec is currently comprised of a modest set of utilities and a simple framework for String encoding and decoding in the following packages:


---
layout: page
tags: [Jekyll, HADDOCK, Bonvin, Docking, Simulation, Molecular Dynamics, Structural Biology, Computational Biology, Modelling, Protein Structure]
modified:
comments: false
image:
feature: pages/banner_software.jpg
---
HADDOCK2.2 manual
Run.cns
The run.cns file contains all the parameters to run the docking.
You need to edit this file to define a number of project-specific parameters
such as the number of structures to generate at the various stages, which restraints
to use for docking and various parameters governing the docking and scoring. Many parameters have
default values which you do not need to change unless you want to experiment.
Using a web browser, go to the project setup section of the HADDOCK home-page
(http://www.bonvinlab.org/software/haddock2.2/haddock-start)
, enter the path of your run.cns file and click on "edit file".
The run.cns is divided into several sections that will be detailed in the
following:
- Number of molecules for docking
- Filenames
- Definition of the protonation state of histidines
- Definition of the semi-flexible interface
- Definition of fully flexible segments
- Symmetry restraints
- Distance restraints
- Radius of gyration restraint
- DNA/RNA restraints
- Dihedral angle restraints
- Karplus coupling restraints
- Residual dipolar couplings
- Pseudo contact shifts
- Diffusion anisotropy restraints
- Topology and parameters files
- Energy and interaction parameters
- Number of structures to dock
- DOCKING protocol
- Solvated docking
- Final explicit solvent refinement
- Scoring
- Analysis and clustering
- Cleaning
- Parallels jobs
1. Number of molecules for docking
here you have to specify the number of molecules for docking. HADDOCK version 2.0 and higher
currently supports up to six separate molecules, thus allowing multi-body (N>=2) docking. This
should be set automatically by HADDOCK from the number defined in
new.html.
Note: You can even specify only one molecule. This will no longer be called docking, but it
allows to use HADDOCK for refinement purpose instead.
2. Filenames
This section consist of all the files that will be used for the docking.
If the new.html file has been set up properly, most fields will be set correctly.
The only thing you might want to change is the name of the current project which is used as
as rootname for all files.
If one of the molecules is DNA (and not RNA!), set the DNA flag to true. This is needed since the
building blocks in the DNA/RNA topology file correspond to RNA. When DNA is set to true, a patch will
be applied to remove 2' hydroxyl groups.
Also check that the HADDOCK directory, defining the path to the HADDOCK programs, is correct.
Note 1: Do not change the name of the input PDB file otherwise it will not be found by HADDOCK (this
file corresponds to the one you previously defined in new.html.
Note 2: Do not use similar names for the various molecules and the name of the current project.
3. Definition of the protonation state of histidines
By default, all histidines are protonated and thus carry a net positive charge. In this
section you can specify the protonation state of histidines for each protein. A neutral
histidine can exist in two forms:
- HISD: the imino proton is attached to the ND1 nitrogen
- HISE: the imino proton is attached to the NE2 nitrogen
It is important that you take time to think about the possible protonation state of histidines when present since
a charge difference of +/- 1 can make quite some difference in the docking results. If no information is available
on the pH of the solution and/or the pka of your histidines, one reasonable option is to use
WhatIF to generate the protons on your molecule and check what
choices were made for the protonation state of the various histidines. For this purpose you can use the
WhatIF web server.
4. Definition of the semi-flexible interface
HADDOCK performs a semi-flexible simulated annealing (SA). Here you have to
define the residues that will be allowed to move during the SA.
In HADDOCK 2.X, you have two options:
Manual definition of the semi-flexible segments
Automated mode (default)
Manual definition of the semi-flexible segments
Usually we define as flexible residues all active and
passive residues +/- 2 sequential residues.
For each molecule, enter the number of flexible segments and then
the starting and ending residue of each segment.
Note that the maximum number of segments is 10 for each
molecule. To add more segments, edit the run.cns file (See the FAQ section).
Automated mode (default)
HADDOCK 2.X offers the possibility to automatically define the semi-flexible residues. This is done automatically
for each structure by selecting all residues that make intermolecular contacts within a 5A cutoff. You can change this
cutoff value by editing the flexauto.cns CNS script in the protocols directory.
To turn on the automated mode, the number of segments should be a negative number (default: -1). Since HADDOCK2.X also
allows to randomly define ambiguous interaction restraints from the defined semi-flexible segments (see the
distance restraints section below), this number could also be larger (e.g. -3 to define three segments from which to randomly define AIRs. As long as the number is negative, the semi-flexible residues will
be defined automatically.
5. Definition of fully flexible segments
HADDOCK allows the definition of fully flexible segments for each molecule.
These will be fully flexible throughout the entire docking protocol except for the rigid body minimization
(see the docking section).
For each molecule, enter the number of fully flexible segments
and then the starting and ending residue of each segment.
Note that the maximum number of fully flexible segments
is 5 for each molecule. To add more segments, edit the run.cns file
(See the FAQ section)..
6. Symmetry restraints
This section allows to define two types of restraints to enforce symmetry either within or between molecules:
- non-crystallographic symmetry restraints (NCS)
- C2, C3, S3, C4 and C5 symmetry restraints
Non-crystallographic symmetry restraints (NCS)
The NCS option imposes non-crystallographic symmetry restraints: it enforces that two molecules, a fraction thereof or even two sub-domains within the same molecule should be identical without defining any symmetry operation between them.
HADDOCK 2.X allows to define up to five pairs for which NCS restraints will be applied. The syntax is fully flexible since start and end residues can be defined together with the molecule SEGID. In that way both intermolecular and intra-molecular NCS restraints can be defined.
Note: Since all atoms will be used for the definition of NCS restraints, it is important the NCS
pairs contain exactly the same number of atoms.
C2, C3, S3, C4 and C5 symmetry restraints
HADDOCK 2.X offers the possibility to define multiple symmetry relationships within or in between molecules. This is done by using symmetry distance restraints (Nilges 1993). Symmetry distance restraints are a special class in CNS:
for each restraint two distances are specified which are required to remain equal during the calculations, irrespective
of the actual distance. They can be defined in CNS as:
noe
class symm
assign (resid 1 and name CA and segid A)
(resid 50 and name CA and segid B) 0 0 0
assign (resid 1 and name CA and segid B)
(resid 50 and name CA and segid A) 0 0 0
end
noe
potential symm symmetry
end
By defining multiple pairs of distances between the CA atoms of two chains, C2 symmetry can be enforced.
This can be easily extended to higher symmetries by defining multiple pairs of symmetry restraints:
- for C3, one can define three pairs of distances that should be equal:
A-B = B-C, B-C = C-A and C-A = A-B
- C5 symmetry can be enforced by defining five pairs:
A-C = A-D, B-D = B-E, C-E = C-A, D-A = D-B and E-B = E-C
HADDOCK will automatically define the symmetry restraints based of the segments defined in run.cns (this is
done in the symmultimer.cns CNS script). Currently
10 C2 pairs, 2 C3 triplets, 4 S3 tiplet, 2 C4 quaduple and 1 C5 quintuplet can be defined.
Note: By combining multiple symmetry restraints is is possible to enforce other symmetries.
For example D2 symmetry in a tetramer can be defined by imposing six C2 symmetry pairs:
A-B, B-C, C-D, D-A, A-C and B-D.
7. Distance restraints
Ambiguous (AIRs) and unambigous distance restraints
Ambiguous (AIRs) and unambigous distance restraints specified in new.html will always be read.
In this section, however, you can specify the stage of the docking protocol at which a given
type of distance restraint will be used for the first and last time:
- 0: rigid body EM (it0)
- 1: semi-flexible simulated annealing (SA) (it1)
- 2: explicit solvent refinement (water)
You should also specify the force constants for the various stages of the
docking protocol:
- hot: high temperature rigid body dynamics
- cool1: first rigid body slow cooling SA
- cool2: second slow cooling SA with flexible side-chains at interface
- cool3: third slow cooling SA with flexible side-chains and backbone at interface
The force constants in the various stages are scaled from the previous to the current value, e.g.
from the cool1 to the cool2 value in the second simulated annealing. For the explicit
solvent refinement the value of cool3 will be used.
Random removal of AIRs
HADDOCK offer the possibility to randomly remove a fraction of the AIRs (only active on the ambiguous interaction
restraints defined in ambig.tbl for each docking trial. This option is particularly useful when the
accuracy of the AIRs is questionable since by random removal bad restraints could be discarded, allowing
for better docking solutions.
To enable random removal of restraints, set noecv to true and define the number of sets into which the AIRs will be partitioned; one set will be randomly discarded. By setting for example the number of partitions
(npart) to 2, 50% of the AIRs will be discarded for each docking trial; for npart=4 25% of the AIRs
will be randomly discarded.
Hydrogen bond restraints
Define here if you want to use hydrogen bond restraints. The restraint file should have been specified in
new.html.
Random interaction restraints definition
Define here if you want to randomly define interaction restraints (AIRs) from solvent accessible residues.
The sampling will be done from the defined semi-flexible segments. To sample the entire
surface, define the entire sequence as semi-flexible and use the automated
semi-flexible segment definition to limit the amount of flexibility to the interface region.
For more details see the AIR restraints section of the online manual.
Random AIRs are only active during the rigid body stage of the docking protocol. For the semi-flexible refinement, one AIR will be automatically defined between all residues
within 5A from another molecule. No AIRs will be active during the final explicit
solvent refinement.
Note1: Random AIRs are exclusive with ambiguous, unambigous and hydrogen bond restraints defined in
new.html. They can however be combined with surface and center of mass restraints (see below).
Center of mass restraints
Define here if you want to use center of mass restraints and specify the corresponding force constant. Can be useful in combination with random interaction restraints definition (see above).
Surface contact restraints
Define here if you want to use surface contact restraints and specify the corresponding force constant. This can be useful in combination with random interaction restraints definition (see above).
Automatic weighting of distance restraints
Also available is an option to automatically adjust the force constant
of the distance restraints (sum of distance and AIRs) to balance the
distance restraint energy with the sum of the force field energy terms
(bonds, angles, dihedrals, electrostatic and van der Waals) such as the
ratio of force field energy versus distance restraint energy is equal to 2.
For this you need to specify the number of distance and AIR restraints.
The automatic scaling option will not appear when editing the run.cns
file in a web browser. You will have to edit the file manually for this.
Note: This option has not been thoroughly tested. An upper
limit of 5000 is set for distance restraining force constant. For
more details have a look at the set_noe_scale.cns script in
the protocols directory.
8. Radius of gyration restraint
A radius of gyration distance restraint can be turned on here. It will be active throughout the entire protocol,
but can be effectively turned off by setting the force constant for a given stage to 0. The radius of gyration should be entered in angstrom. By default it is applied to the entire system, but can be restricted to part of the system using standard CNS atom selections.
For example to limit it to chains B and C define:
9. DNA/RNA restraints
Define here if you want to use DNA/RNA restraints. To use such restraints, edit the dna-rna-restraints.cns file
provided in the protocols directory (you can use the same mechanism for that as for editing the run.cns parameter file from the project setup menu of HADDOCK),
adapt it to your particular case, and place it in the data/sequence directory. This file allows you to
define base-pair, backbone dihedral angle and sugar pucker restraints.
10. Dihedrals
If dihedral angle restraints have been defined in the new.html file,
turn the flag "use" to true and specify the force constants for the
various stages of the semi-flexible simulated annealing (for water the value
of cool3 will be used).
HADDOCK2.2 offer a new option to automatically dihedral angle restraints from the input structures. By default it is turned off, but you can specify to define dihedral angle restraints for the entire backbone, alpha-helices only or alpha-helices and beta-sheets. The secondary structure elements are defined based on a simple phi/psi dihedral angle criterion.
11. Karplus coupling restraints
You can specify in this section the Karplus coefficients and force constants for
J-coupling restraints. This should directly be edited in the run.cns and will not
show up in a browser window.
12. Residual Dipolar couplings
If RDC data are available and have been defined in the new.html file,
you can define them in this section. Five classes are supported. For each class you
can specify the type of function:
- SANI: direct refinement against the dipolar couplings (a tensor will be
included in the structures calculations)
- VANGLE: refinement using intervector projection angle restraints
(Meiler et al. J. Biomol. NMR 17, 185 (2000))
You can specify the first and last stage at which the various RDCs will be used.
- 0: rigid body EM (it0)
- 1: semi-flexible simulated annealing (SA) (it1)
- 2: explicit solvent refinement (water)
This option allows for example to combine VANGLE and SANI type restraints. Intervector projection
angle restraints lead to better convergence in the first phase of the docking (0,1) while direct
RDC restraints can be used in the final explicit solvent refinement (2) to fine-tune the RDCs
(see for details van Dijk et al.
Proteins, 60, 367-381 (2005)).
For SANI Da (in Hz) and R (R=Dr/Da) should be specified. You should also specify the force
constants for the various stages of the docking protocol:
- hot: high temperature rigid body dynamics
- cool1: first rigid body slow cooling SA
- cool2: second slow cooling SA with flexible side-chains at interface
- cool3: third slow cooling SA with flexible side-chains and backbone at interface
For more information on using RDC as restraints for docking see also the
RDC restraints section of the online HADDOCK manual.
13. Pseudo contact shifts
If pseudo contact shift data are available and have been defined in the new.html file,
you can define them in this section. Ten classes are supported. For each class you
can specify the first and last stage at which the various RDCs will be used.
- 0: rigid body EM (it0)
- 1: semi-flexible simulated annealing (SA) (it1)
- 2: explicit solvent refinement (water)
You should also specify the force constants for the various stages of the docking protocol:
- hot: high temperature rigid body dynamics
- cool1: first rigid body slow cooling SA
- cool2: second slow cooling SA with flexible side-chains at interface
- cool3: third slow cooling SA with flexible side-chains and backbone at interface
and the tensor parameters R and D.
For more information on using diffusion anisotropy as restraints for docking see also the PCS restraintssection of the online HADDOCK manual.
Refer to the following publication for details of the implementation in HADDOCK:
14. Diffusion anisotropy restraints
If diffusion anisotropy restraints (DANI) (from 15N relaxation measurements)
are available and have been defined in the new.html file, you can define them in this section. Five classes
are supported (e.g. for measurements at different fields).
You can specify the first and last stage at which the various DANI restraint sets will be used.
- 0: rigid body EM (it0)
- 1: semi-flexible simulated annealing (SA) (it1)
- 2: explicit solvent refinement (water)
For each DANI set, the correlation time (ns), Da (in Hz) and R (R=Dr/Da) should be specified, together with the proton
and nitrogen 15 frequencies (MHz). You should also specify the force constants for the various stages of the docking
protocol:
- hot: high temperature rigid body dynamics
- cool1: first rigid body slow cooling SA
- cool2: second slow cooling SA with flexible side-chains at interface
- cool3: third slow cooling SA with flexible side-chains and backbone at interface
For more information on using diffusion anisotropy as restraints for docking see also the
DANI restraints section of the online HADDOCK manual. Their implementation
in HADDOCK is described in van Dijk et al.
J. Biomol. NMR, 34, 237-244 (2006).
15. Topology and parameters files
In this section the topology, linkage and parameter files are specified for each molecule.
The default values are for proteins using the improved parameters of
Linge et al. 2003
and OPLSX non-bonded parameters.
For dna use instead the dna-rna-allatom.top, dna-rna-allatom.param and
dna-rna.link files in the toppar directory.
Also provided in the toppar directory in this version of HADDOCK are topologies
and parameters for heme groups. See for this the topallhdg.hemes and
parallhdg.hemes files. An example of distance restraints to maintain non-covalently
attached heme in place is given in metalcenter.tbl in the toppar directory.
topallhdg.hemes also contains a number of patches to covalently attach the heme
group to CYS and HIS residues. These patches should be added manually to
the generate_X.inp when needed (an example is provided but currently commented out; search for heme in the file).
(These files were kindly provided by Gabriele Cavallaro, CERM Firenze).
Parameter and topology files for small ligands should be provided by the user and place in the toppar
directory (see also the FAQ section of the online manual).
In this version of HADDOCK, ions should be automatically recognized provided their naming is consistent with
what is defined in the ion.top topology file in the toppar directory. For the torsion angle
dynamics part of the docking protocol (it1), a covalent bond will be automatically defined
to the closest ligand atom (only for cations). This is done in the covalions.cns CNS script in the
protocols directory; the following cations are currently defined: MG+2, CA+2,
FE+2, FE+3, NI+2, CO+2, CO+3, CU+1, CU+2
and ZN+2. If your system contains other ions add them to the covalions.cns file
(they should however be defined in ion.top).
16. Energy and interaction parameters
You can define in this section a number of parameters that control the electrostatic energy term
during the docking process, that allow you to scale down the intermolecular interactions and sample 180 degrees rotated
solutions.
Electrostatic treatment
The electrostatic energy term can be turned on or off for the first two stages of the docking,
namely the rigid body minimization
and the semi-flexible simulated annealing. Two implementations
are now supported to describe the solvent implicitly:
- constant dielectric
- distance dependent dielectric
The epsilon constant should be defined.
For the final stage, the explicit solvent refinement,
a constant dielectric with an epsilon equal to one is used by default.
Scaling of intermolecular interactions
This section also allows you to specify scaling factors for the various stages of the docking:
- rigid body EM
- rigid body dynamic: high temperature and slow cooling SA rigid body dynamics
- second slow cooling SA with flexible side-chains at interface
- third slow cooling SA with flexible side-chains and backbone at interface
These scaling factors only affect the intermolecular van der Waals and electrostatic energy terms.
Note: It might be useful to scale down the intermolecular interactions during rigid-body
docking in cases where a ligand has to penetrate in a deep and (partly) buried pocket
of a protein. A value of 0.01 should already be sufficient for this.
Interaction matrix for non-bonded interactions
This is a new feature in HADDOCK2.2 which allows to scale down or turn off interactions between specific molecules.
It is useful for example in the context of ensemble-averaged docking where the distance restraints should be averaged over multiple binding poses.
This option has been applied for example in ensemble-averaged docking of a peptide using PRE-derived distance restaints. See:
17. Number of structures to dock
The docking process is performed in three distinct steps:
- rigid body minimization (it0)
- semi-flexible simulated annealing (it1)
- explicit solvent refinement (water)
You can define here the number of structures to generate in the first two steps and the number of
structures to analyze (for the explicit solvent refinement see below).
Sampling of 180 degrees-rotated solutions
This is a new option in HADDOCK 2.X that allows sampling of 180 degrees-rotated solutions at both the
rigid-body and semi-flexible docking stages.
If turned on (default for rigid-body stage), for each model generated, a 180 degree rotated solution will be
generated automatically by HADDOCK and either energy minimized (rigid-body) or submitted to the semi-flexible
refinement protocol (it1). The rotation axis is automatically defined from the vector connecting the center of
masses of the two interfaces, each interface being defined by all residues forming intermolecular contacts within
5A (this cutoff is defined in the rotation180.cns CNS script in the protocols directory.
Sampling of 180 degree rotated solutions in the rigid-body stage clearly improve the docking performance (unpublished
data). If turned on during the semi-flexible refinement, both refined solutions will be written to disk, doubling the
effective number of structures.
Note1: The sampling of 180 degree-rotated solutions in the semi-flexible refinement is not advised
since it might lead to unrealistic structures (e.g. with knots!). If used, carefully check the
resulting structures for artifacts.
Note2: If solvated docking is turned on, then the sampling of 180 degree-rotated
solutions will be automatically turned off during the calculations.
18. DOCKING protocol
Here you can define parameters for the rigid-body docking step (it0) if you want to:
- cross-dock all combinations in the ensembles of starting structures (should be turned off for example if you only want to perform water refinement of a preformed complex)
- randomize the starting orientations or not
- perform the rigid body minimization or not
- allow translation during the minimization (it can be useful to turn it off for docking highly
flexible small molecules (see the docking section of the online manual)).
During the rigid body minimization you can define the number of trials for each
starting configuration. Only the best solution (according to your sorting criterion
(see scoring)) will be kept. This option saves disk space, but the
sorting scheme should be robust otherwise you might select out good solutions.
This is typically a cheap step in terms of CPU requirements.
The next parameters govern the semi-flexible simulated annealing
protocol. You can define the start and end temperatures and the number of integration steps for the
various stages of the annealing protocol (see the docking
section).
Note: If solvated docking is turned on, then the number of MD steps for
the rigid body stages of the semi-flexible refinement (high temperature rigid-body TAD and slow
cooling annealing) will automatically be set to 0 during calculations.
19. Solvated docking
In this section you can turn on solvated docking. If turned on, the initial structures will first be solvated in a shell of TIP3P water (only water molecules within 5.5 A of the protein will be kept). The rigid-body docking will thus be performed from solvated proteins. Two methods for dealing with interfacial waters are implemented:
- database-based (db) (recommended upon restrained solvated docking (see below)): interfacial
water molecules will be removed in a biased Monte Carlo
process until a user-defined fraction of water remain. This process can make use of two different propensity scales:
- propensities of finding water-mediated contacts between amino-acid pairs defined from a statistical analysis of high-resolution
crystal structures. The water-mediated contact propensities can be found in the db_statistical.dat CNS
script in the protocols directory.
For details see:
- propensities of finding water-mediated contacts between amino-acid pairs defined from the Kyte-Doolittle hydrophobicity scale.
The corresponding water-mediated contact propensities can be found in the db_kyte-doolittle.dat CNS
script in the protocols directory.
For details see:
An important parameter to be defined for database-solvated docking is the fraction of interfacial water
to be kept after the Monte Carlo removal process. This is currently set to 50% based on our analysis of
water-mediated contacts. New in HADDOCK2.2, this percentage can now be defined separately for nucleic acids (currently 75%).
This is coming from the observation that nucleic acids show typically higher solvation. For details regarding nucleic acids solvated docking see:
Note that typically less than that (or even none) of the water molecules will be kept
since an energy cut-off is applied after the Monte Carlo water removal step: all waters with unfavorable
interaction energies (Evdw+Eelec>0) are removed. In some cases, this allows all interfacial
waters to be removed at the end. The energy cutoff is defined in the db1.cns CNS script in the
protocols directory.
- restrained solvating (restraints): in this approach, water molecules are restrained to be at proximity
of amino-acids found to form the most water-mediated contacts (arg, asn, asp, gln, glu, his, lys, pro,
ser, thr and tyr). This is done by defining ambiguous distance restraints between each water and highly
solvated amino-acids on both side on an interface. Note that this method has not been
thoroughly tested.
If restrained solvating is chosen, three additional parameters should be set:
- initial distance cutoff: all water molecules further away from a highly solvated amino-acid will
be removed in the solvent shell generation step.
- initial distance cutoff: upper distance restraints for the definition of ambiguous
water-amino-acid restraints.
- force constant for water-amino-acid distance restraints.
Another parameters that can be modified is the water-protein surface cut-off used to remove water molecules
that are remote from the interface (a water must be with this cut-off distance from two chains to be kept).
It is also possible to turn off water translation during rigid-body energy minimization if desired.
Finally, to increase sampling, it is possible to start the docking from differently solvated molecules. The number of initial solvation shells can be define here. If more than 1 is defined, the protein will be randomly rotated and a new solvation shell will be generated.
20. Final explicit solvent refinement
In this section you can define if the final explicit solvent refinement
should be performed (recommended since it does improve the docking solutions) and on how many structures.
Two solvent models are currently supported: water and DMSO. DMSO is a fair mimic for a membrane environment.
You can also specify here the number of MD integration steps for the heating, sampling and cooling phases of the
explicit solvent refinement.
You can also specify to keep the solvent, in which case an additional PDB file will be created in the
structures/it1/water directory with a _h2o.pdb extension containing both your complex
and the solvent molecules.
21. Scoring
In this section you can define individual weigths for the various terms using in scoring. This can be done separately for the various docking stages (rigid body, semi-flexible refinement and explicit solvent refinement).
You can also define the number of structures to analyze after the simulated annealing (it1) and
explicit solvent refinement (water).
This version of HADDOCK offers a fully flexible scoring scheme since the weight of the
various energy terms can be defined separately for each phase of the docking. The scoring is
performed according to the weighted sum (HADDOCK score) of the following terms:
- Evdw: van der Waals energy
- Eelec: electrostatic energy
- Eair: distance restraints energy (only unambiguous and AIR (ambig) restraints)
- Erg: radius of gyration restraint energy
- Esani: direct RDC restraint energy
- Evean: intervector projection angle restraints energy
- Epcs: pseudo contact shift restraint energy
- Edani: diffusion anisotropy energy
- Ecdih: dihedral angle restraints energy
- Esym: symmetry restraints energy (NCS and C2/C3/C5 terms)
- BSA: buried surface area
- dEint: binding energy (Etotal complex - Sum[Etotal components] )
- Edesol: desolvation energy calculated using the empirical atomic solvation parameters
from Fernandez-Recio et al. JMB 335:843 (2004)
The structure with the smallest weighted sum will be ranked first.
Note 1: The vdw and elec energy terms can be negative indicating favorable interactions.
Note 2: While smaller energy terms indicate improvement, a larger buried surface
area should indicate a better interface. It is therefore recommended to use a negative
weight for the BSA term (if included) to favor larger interfaces.
Note 3: If you modify the treatment of electrostatics during docking you should probably
redefine the electrostatic weights for scoring of it0 and it1 structures since these have been
optimized for the current default settings.
Finally, you can define a "skipping" parameter that allows you to sample more solutions from
the rigid body EM docking (it0). If the value x of this skip parameter is larger than 0 then every (x+1)th structure from it0 starting from the first structure will be further
refined in the semi-flexible simulated annealing.
For example, if skip=1 and 200 structures should be refined in the semi-flexible simulated
annealing, structures 1,3,5,7,... and 399 from the best 400 of it0 will be selected and
written to the file.nam, file.list and file.cns files in the
structures/it0 directory. Three additional files (file.nam_all, file.list_all
and file.cns_all) containing the original sorting of all structures will be created.
22. Analysis and clustering
When performing the analysis, HADDOCK will check
intermolecular hydrogen bonds and
intermolecular hydrophobic contacts.
Here you can define the cut-off distances in Angstrom to define a hydrogen bond and a hydrophobic contact.
Note that the hydrogen bond detection is only based on a distance criterion. For a more detailed
analysis we recommend to use LIGPLOT (see software links.
At the end of the calculation, the solutions are clustered. Two options for clustering are offered:
- RMSD-based clustering using the tools/cluster_struc program (a small C++ program that needs to be compiled during installation).
cluster_struc reads the output of the rmsd.inp CNS analysis script that generates the pairwise rmsd matrix over all structures analyzed and perform clustering.
The RMSDs are calculated on the interface residues of the second molecule after fitting on the interface residues of the first molecule, what can be termed: interface-ligand-RMSD.
The interface residues are automatically defined based on an analysis of all contacts found in all analysed models. Note that RMSD clustering might not be very discriminative in case of multibody docking.
- Fraction of native contacts (FCC) clustering using the tools/cluster_fcc.py python script. This option does not require a-priori fitting of the structures and is more robust for multibody docking.
For details see:
For this clustering step you need to specify a clustering cut-off and a minimum cluster size (recommended 4). For the cutoff, 7.5A works fine in most cases, while this value should be reduced to 5A or less for short peptides and 2 to 1A for small ligand docking. When using FCC clustering, a cutoff of 0.75 (or higher) is recommended.
The new FCC clustering offers the option to ignore chains when dealing with symmetrical oligomers. For example for a symmetrical trimer, this means that the ABC and ACB arrangements will cluster is the same cluster.
(For further details for manual analysis see Analysis for details).
23. Cleaning
Since HADDOCK does generate a lot of data and output files, we now built in a cleaning option. If turned on (default)
all (except for the first structure of each stage) job, input and output files for the rigid-body, semi-flexible refinement and final explicit solvent refinement will be removed automatically upon completion. This saves a significant
amount of space.
25. Parallels jobs
In this section you can define the way the structure calculation will be run, and the location
of the CNS executable. Currently 10 nodes or queues can
be specified.
If you are going to run HADDOCK on a multi-processor computer with for example 4 CPUs, the entries
for the first row could be:
- queue command: csh (this will run the jobs in background on the local computer)
- cns executable: /software/bin/cns
- number of jobs: 4 (four jobs in parallel)
and all other entries empty.
In Utrecht we are using two different batch queuing system (DQS and openPBS) that distribute the jobs on various
linux clusters. Our entry for this setup is:
- queue command: ssub linux (ssub is a wrapper script for submitting to the
batch queuing system and linux is the queue destination)
- cns executable: /software/bin/cns
- number of jobs: 10 (10 jobs in parallel)
and all other entries empty.
Other ways of distributing jobs over a cluster are addressed in the
FAQ section of the manual.


Voting on the Ethereum Blockchain: An Analysis
November 7, 2015
The main reason why I’ve created PublicVotes (apart from the intellectual challenge) is to determine the feasibility of utilizing Ethereum as a decision making tool for organizations. After a little under 2 weeks of operation I have acquired some data to draw early conclusions and answer the questions I had prior to this experiment. This will be an attempt at offering a more in-depth analysis so that current and future voting applications that utilize Ethereum or other Blockchains can benefit from it.
TL;DR: Using Ethereum as a decision making tool costs money and all entries are public. I do not think that Ethereum should be used as a platform (or rather a tool) for the constant decision-making inside organizations, mainly because the advantages offered are not what organizations require. BUT, for decision-making that requires trust and a publicly verifiable and transparent system (such as elections of any kind), using Ethereum makes a lot of sense. The 2010 General Election in the UK cost some $127Million. In a hypothetical scenario on Ethereum, it would cost $275,546.776 to register the same amount of votes. At the present time, on PublicVotes it costs about $2.4 to cast some 1368 votes (including polls). On average, it costs $0.0015 to cast a vote and $0.024 to create a poll.
What actually costs money?
For many outsiders that have not used or heard of Ethereum before (this poll shows it’s quite a few “Have you heard of Ethereum?”), the question of “Why charge money for voting online?” comes up quite quickly. After all, voting is simply adding a new field into a database, that doesn’t cost money right?
Well not quite (I’m not that greedy). To understand what PublicVotes is actually doing, we need to move away from this notion of having a single computer holding a database and entering new entries, to an entire Peer-to-Peer Network of computers collectively holding a database and validating the entries that are written to it.
That is what PublicVotes essentially is: a voting system that utilizes the Ethereum network that holds a database (a Blockchain to be more specific) that validates new entries (votes in our case) written to that Blockchain.
Obviously this requires computer power, because after all, this network ensures the integrity of the Blockchain by securing it so that no adversary can alter entries. These computers need to be incentivized to do all of this incredibly important work, which leads us back to the question of this paragraph “What actually costs money?”. So now you should know what costs money: whenever you create a poll or you vote, you are sending Ether to the Ethereum network that collectively verifies your vote/poll and inserts it into this globally shared Blockchain.
The Analysis
The two major processes to analyse with PublicVotes are for one the poll creation and for another the actual voting on a poll. Both of these processes cost money since we are writing directly to the Blockchain.
For those interested, here is the smart contract that shows exactly what happens when we create a poll and vote. The contract, developed in Solidity, is super simple and should give you a good feel what one can do with Ethereum: Smart Contract
Since this analysis involves getting quite a lot of data, I wrote a simple program in Python that contacts several API’s from service providers to get the required data (such as specific transaction details, total transaction cost, Ethereum USD price and so on). You can check out the program here Github Link
Lastly, I have published all of the data on Google Drive as Spreadsheets. Therefore, feel free to create your own analysis with the data :) Link to individual poll analysis and Link to general analysis
Poll Creation: Cost Specifics
Creating a poll on PublicVotes means deploying a smart contract to the Ethereum network and writing information (provided by the client) about the poll to the contracts internal storage. More specifically, we are storing the following information to a public variable p of type Poll (basically a struct):
- p.owner. This is the address (20 bytes) of the creator of the poll
- p.options. This is all of the poll options concatenated to a single string. The maximum length here is 200 chars
- p.title The title of the poll, stored as a string with max length of 48chars
- p.votelimit The vote limit stored as an unsigned integer.
- p.deadline This is the deadline of the poll, which is a UNIX formatted date, also stored as an unsigned integer.
- p.status Simple boolean value of the poll, on instantiation it is set to true.
- p.numVotes And lastly, we set the number of votes to 0
As you can see, we do quite a lot when we start a poll and this comes at a cost. On average, it cost about $0.024399. The highest cost for just creating a poll was $0.0295448. In the following diagram you can see that the cost for creating a poll vary a lot and are dependant on the respective Ether price.
Speaking strictly in Ether terms, the gas which the contracts required for deployment also fluctuated a lot. The most expensive contract (590955 gas was required) costing about 20% more than the least expensive (491295 gas was required) one. At a price of 50 shannon (which was the same for all contracts that were deployed), we can see the cost difference here.
As you can see, the creation of a polls varies quite a bit. But this is to be expected since the information which a poll stores into the contracts storage can differ greatly in size.
Ether Price Development vs. Poll Creation
As you may realize by now, the cost for starting a poll is not only dependant on the size of what gets stored, but also on the price of Ether at the time of the contract’s deployment. Therefore, the higher the Ether price, the more expensive it is to actually create a poll. The below diagram shows this in more detail. It clearly shows how the price of Ether dictates the cost for deploying a contract.
Voting: Cost Specifics
Now as for voting costs, we no longer need to actually deploy the contract to the network. Instead when someone votes we do two things: For one, we actually write to the contracts storage by increasing p.numVotes by 1. And for another, we create an event, which is basically storing information into the Blockchains client log and making it available for the outside world to read (which is exactly what we need for voting). We also have some logic implemented, namely checking if the sender is the owner and if a votecount is equal than the votelimit, but for this analysis this is not relevant.
What is mostly important about the costs when someone votes is that we do very little writing to the contracts storage. If we were to store additional information in the contract, such as storing all of the votes in a public array, thus making it possible for other contracts to access this storage, I think it would cost at least twice to three times as much as voting currently costs. Therefore, keep in mind that the contract currently is very lightweight with the intention of keeping costs at a minimum.
To jump right in, overall, it cost about $2.05 to cast 1350 votes. On average it cost $0.001519, with a high of $0.00261 and a low of $0.001049, to cast votes. As you can see, these numbers differ a lot. To visualize this, here is the diagram:
To put the price in perspective:
As you can see, there is a clear correlation between the Ether price and the cost of voting (who would have thought?). To get a better picture as to how much voting actually costs, we need to leave the Ether<->USD market out of the picture and instead focus on gas usage and price.
On average, voting requires 30000 gas, with a high of 45485 gas and a low of 21000. What is interesting is that the price of gas fluctuated during the time the data was collected. Usually the price of gas is at a constant of 50 Shannon, but it reached a max of 57 Shannon on one instance. This is because the demand of computation increased, thus the computational power itself became scarcer, which meant that the price of the gas increased. Market dynamics at its best. If we multiply the gas used with the gas price, we get the following diagram:
As you can see, overall the costs were relatively stable, only on few instances the costs were abnormally high or low. This is a combination of high gas costs, high gas spending and mostly because it was the first vote in a poll (which is more expensive, which we are going to discuss soon).
Interesting Insights into specific polls
There were some interesting insights that were revealed while collecting all of the data from PublicVotes. First of all, it is very interesting that the first vote that is being cast is nearly always in the range of 45000 gas spent, which is a lot more than all subsequent votes. This is unexpected behavior and there is no good explanation yet as to why the first vote that is being cast is more expensive than the others. So if someone reading this can explain this in more detail, please let me know.
Here are some interesting polls:
As you can see, the recent sudden increase of the Ether price had a major impact in the overall costs of voting.
Ethereum-based Voting for Decision-Making?
As the intention of this analysis was to offer to the reader a definitive answer to the question whether Ethereum should be used for decision-making inside organizations, here is the definitive answer: yes and no. (exactly the definitive answer you wanted)
Organizations of any type, whether small or large, have to make constant decisions on virtually anything, including which pizza to order for the team. Therefore I do not think that it makes sense to use such an Ethereum-based (or Blockchain-based for that matter) voting application that publicly records and verifies all votes that had been cast. Organizations want to keep the information about polls and votes private and hidden from the public, therefore recording it into an immutable public ledger is not acceptable. The costs and advantages offered by a blockchain-based voting system do not meet the requirements of today’s organizations.
BUT, I do think for decisions, that require trust and a publicly verifiable system, that Ethereum-based voting is very powerful. It basically ensures the integrity of the poll (nobody can alter votes once they have been cast), it is incorruptible, publicly verifiable and transparent (everyone can see all votes on the Blockchain) and a voter can be ensured that her/his vote has been counted. This means that such a voting system is perfect for elections inside organizations, but also for governments, where trust is of utmost importance.
Since this is a such a huge topic, let’s dive deeper into a cost comparison with current voting systems for elections.
Comparison with current voting systems for elections
To compare Ethereum-based voting systems to the current voting system that is used for national and state elections, we first need to describe how this voting system even works. For this specific example I’m using the UK as an example since they had published some useful numbers to base our comparison on.
As you may have guessed, holding elections today is expensive, tedious and slow. The system is still based off of physical booths, paper ballots and requiring humans to count the ballots. (in some cases there are machines counting the ballots, but these machines are even more expensive than humans on a per voter cost basis.[1])
For the 2010 General Elections in the UK[2], the vote turnout was at 65.1%. Out of 45,597,461 registered voters, some 29,991,471 actually voted[3]. Mark Harper, the Cabinet Office minister, estimated the costs of the general election to be £113,255,271[4]. This figure consists of £28,655,271 for the cost of distributing candidates’ mailings and a further £84.6 million for the conduct of the poll. That means on average, it cost about £3.77 to register and count a vote. If we only take the costs for conducting the poll (£84.6 million), it would cost £2.82 to cast a single vote.
To draw a comparison with Ethereum based voting, remember that on average, it costs $0.0015 to cast a vote and $0.024 to create a poll. Therefore, for holding the 2010 General Election on the Blockchain it would cost $0.024 (to create the poll) and $0.0015 * 29,991,471 = $44,987.23. Now this number is not completely correct, because it presumes that the price of Ether will stay the same (around $0.90) and the price of Gas will also stay at 50 Shannon. To get a more exact figure, we need to more accurately describe a hypothetical scenario in the future where a government holds elections on the Ethereum Blockchain.
Creating a hypothetical scenario
First of all, the most important assumption of all is that the Ethereum network can even handle the amount of transaction volume an election will bring. At the current gas limit of 3,141,592, at the cost of 30000 gas per vote, we could only register some 104 votes every 12 seconds. That is about 748800 in a day. Therefore, holding the General Elections on the Ethereum Blockchain would take some 40 days until it’s finished. That of course is not acceptable. We therefore assume that the Ethereum Network has no such gas limit at the time the election is being held.
Secondly, we assume that the price of Ether will increase to at least $3.50. A government holding elections on the Blockchain is a huge deal and speculators love something like that. Because of that, we can safely assume that $3.50 is a good price of Ether (and I actually think it is on the lower end of the spectrum, as the price could definitely increase much more).
Lastly, we need to more accurately predict the gas price. Right now the Gas price is stable at about 50 Shannon. With a government holding elections and potentially some 29,991,471 votes being registered on the Blockchain, the price of gas would certainly increase. Since predicting market behavior is impossible, we simply assume that the gas price will increase 50% to 75 Shannon. (let’s assume that the demand created by the government makes more miners want to participate, since it’s quite lucrative).
With this hypothetical scenario we can now calculate how much it would (hypothetically) cost to hold an election. To create the poll, some 520000 in gas will be required at a cost of 75 Shannon, that is 0.039 Ether or $0.1365. At a gas used of 35000 and a price of 75 Shannon per gas, the total transaction cost in Ether will be 0.002625. In USD terms that is $0.0091875. In sum, the entire election would cost $0.1365 + $0.0091875 * 29,991,471 = $275,546.776.
To compare, the current voting system is at least 46205% more expensive than a Blockchain based voting system. Casting a vote in the current system costs $4.24, compared to $0.0091875 on the Ethereum based voting system.
Most importantly though apart from price, a Blockchain-based voting system would get rid off all of the issues which current systems have[5]. Issues such as not being able to vote due to technical difficulties is not acceptable in a democracy, where supposedly “every vote counts”.
Conclusion
An Ethereum-based voting system offers a lot of benefits that current voting systems simply lack, or achieve at a very expensive price. Transparency, public verifiability, corruption-resistance and assurance that a vote has been cast comes at a price of $0.0091875 per vote. Even though using such a voting system for the constant decision-making inside an organization may be too much of what is required, holding elections on the Blockchain makes a lot of sense.
I will continue to work on more applications that offer different usecases for voting on the Blockchain. Liquid democracy is up next as I think that smart contracts are the perfect solution to making such a system viable.
Sources
[1] http://www.theguardian.com/technology/2009/sep/30/electronic-vote-counting
[2] https://en.wikipedia.org/wiki/United_Kingdom_general_election,_2010
[3] http://www.idea.int/vt/countryview.cfm?CountryCode=GB
[4] http://www.bbc.com/news/uk-politics-24842147
[5] https://en.wikipedia.org/wiki/United_Kingdom_general_election,_2010#Voting_problems


In order for you to change the Country of your choice you need
to edit your config.php files and change your
$accid = "WIII"; with your country code which can be found at
MSNBC Weather at MSNBC Weather
click on "Find Local Weather" to find your weather location and
the accid id will appear to you in the browser box.
"WIII" is accid code for Jakarta, Indonesia.
"LAX" is accid code for Los Angeles Coast.
"59L" is accid code for Los Angeles Downtown.
"SFO" is accid code for San Francisco.
"WSAP" is accid code for Singapore.
Enjoy!