RTC or Rational Team Concert


An integrated development environment used to track down task progress. There is eclipse based client as well as web based client (i.e. Jazz).

RTC tightly coupled with build and source control, it gives rich flexibly to navigate well.

I am using current setup for one of my client which has SCRUM process template.

The current setup has work item linkage in following manner.

  • Epic
    • Story
      • Task

Epic is the business requirement for the given functionality.

Story will be further granular details for the epic.

Task will be set of single or multiple work items put down together to implement the given Story.

Source Control

I have been told that it’s Build Forge which has been configured with RTC for this project.

I didn’t know about build forge tool before but virtually it doesn’t make any difference which RTC GUI.

I have working experience of Subversion and Perforce, its steep learning curve with RTC GUI to manage source control.

Streams are the way to manage different projects between one or more teams.

https://jazz.net/products/rational-team-concert/

Advertisements

The Financial Information eXchange (FIX) Protocol


It is a series of messaging specifications for the electronic communication of trade-related messages.

Example of FIX message (Tag Value pair)

8=FIX.4.1^9=0235^35=D^34=10^43=N^49=VENDOR^50=CUSTOME^56=BROKER^52=19980930-09:25:28^1=XQCCFUND^11=10^21=1^55=EK^48=277461109^22=1^54=1^38=10000^40=2^44=76.750000^59=0^10=165

Fix message divided into 3 main category

  1. Header
    • Fix version
    • sender
    • receiver
    • type of message
  2. Body
    • order type
    • symbol
    • qty
    • price
  3. Footer
    • checksum – used to avoid the transmission error

Let us now understand above example FIX message in detail

(^) caret is a field delimiter

Referring to FIX specification at http://fixprotocol.org/FIXimate3.0/?language=en&version=FIX.4.1

8=FIX.4.1

Tag Description Valid values
8 Identifies beginning of new message and protocol version. ALWAYS FIRST FIELD IN MESSAGE. (Always unencrypted)

9=0235

Tag Description Valid values
9 Message length, in bytes, forward to the CheckSum field. ALWAYS SECOND FIELD IN MESSAGE. (Always unencrypted)

35=D

Tag Description Valid values
35 Defines message type. ALWAYS THIRD FIELD IN MESSAGE. (Always unencrypted)Note: A “U” as the first character in the MsgType field (i.e. U1, U2, etc) indicates that the message format is privately defined between the sender and receiver.
D = Order – Single [NewOrderSingle]

34=10

Tag Description Valid values
34 Integer message sequence number.

43=N

Tag Description Valid values
43 Indicates possible retransmission of message with this sequence number
N = Original transmission [OriginalTransmission]

49=VENDOR

Tag Description Added Depr. Enums from tag Valid values
49 Assigned value used to identify firm sending message. FIX.2.7

 

50=CUSTOME

Tag Field Name Data Type Union Datatype Description Added Depr. Enums from tag Valid values

56=BROKER

Tag Description Valid values
56 Assigned value used to identify receiving firm.

52=19980930-09:25:28

Tag Description Valid values
52 Time of message transmission (always expressed in GMT)

1=XQCCFUND

Tag Description Valid values
1 Account mnemonic as agreed between broker and institution.

11=10

Tag Description Valid values
11 Unique identifier for Order as assigned by institution. Uniqueness must be guaranteed within a single trading day. Firms which electronically submit multi-day orders should consider embedding a date within the ClOrdID field to assure uniqueness across days.

21=1

Tag Description Valid values
21 Instructions for order handling on Broker trading floor
1 = Automated execution order, private, no Broker intervention [AutomatedExecutionNoIntervention]

55=EK

Tag Description Enums from tag Valid values
55 Ticker symbol

48=277461109

Tag Description Enums from tag Valid values
48 CUSIP or other alternate security identifier

22=1

Tag Description Valid values
22 Identifies class of alternative SecurityID
1 = CUSIP [CUSIP]

54=1

Tag Description Valid values
54 Side of order
1 = Buy [Buy]

38=10000

Tag Description Added Valid values
38 Number of shares ordered FIX.2.7

40=2

Tag Description Valid values
40 Order type.
2 = Limit [Limit]

44=76.750000

Tag Description Valid values
44 Price per share

59=0

Tag Description Valid values
59 Specifies how long the order remains in effect. Absence of this field is interpreted as DAY.
0 = Day [Day]

10=165

Tag Description Valid values
10 Three byte, simple checksum (see Appendix B for description). ALWAYS LAST FIELD IN RECORD; i.e. serves, with the trailing <SOH>, as the end-of-record delimiter. Always defined as three characters. (Always unencrypted)

Different message type

Admin Messages

  • Login
  • Logout
  • Heartbeat

Application Message

  • New order
  • Order cancel
  • Execution
  • All business related messages

Do come back to see more updates on this article.

Fixed Income


It provides a return in the form of fixed periodic payments and the eventual return of principal at maturity. Unlike a variable-income security, where payments change based on some underlying measure such as short-term interest rates, the payments of a fixed-income security are known in advance.

Example of a fixed-income security would be a 5% fixed-rate government bond where a $10,000 investment would result in an annual $500 payment until maturity when the investor would receive the $10,000 back. Generally, these types of assets offer a lower return on investment because they guarantee income.

Bonds

It is a debt security similar to an informal debt instrument. When you purchase a bond you are lending a money to that entity who is issuers. In returns for the loan, the issuers promises to pay specified rate of interest during the life of the bond and to repay the face value of the bond when it matures or comes due.

Query Twitter data using Perl


Search Twitter using Perl module Net::Twitter

Pre-requisites

I strongly recommend to read below url before playing around this example

Streaming API Concepts

Net::Twitter – A perl interface to the Twitter API

Streaming API Response Codes

#!/usr/bin/perl -w

use Net::Twitter;
use Scalar::Util 'blessed';

my $nt = Net::Twitter->new(
      traits                 => [qw/OAuth API::REST API::Search/],
      consumer_key           => "PZBzeiUFkzZ0vF4bNY88rQ",
      consumer_secret        => "2VjWny5UTCk4eIde6GBUFdRsCwiOX6jIgQCPmT6VA",
      access_token           => "349126638-MZ0fCAYRQnyarDjsph5sXtOZBF0h6TjbXjxUXHGn",
      access_token_secret    => "r0SyKoqU91uMksfXD8mTPOI9k0h1UkOkb5rH1LVJh8",
      ssl                    => '1',
      decode_html_entities   => '1',
);

eval {
      my $response = $nt->search("India");

      print
      $response->{'results'}->[$_]->{'created_at'}," - ",
      $response->{'results'}->[$_]->{'from_user'}," - ",
      $response->{'results'}->[$_]->{'text'}, "\n\n" foreach (1..10);
};

if ( my $err = $@ ) {
      print "12345";
      die $@ unless blessed $err && $err->isa('Net::Twitter::Error');
}

It will search “India” in latest tweets

Output format

Date TimeUser – Tweet

Mon, 07 May 2012 07:27:37 +0000 - kpark_kunal - @iSaakshi I doubt!india has very concentrated oil importers! Saudi, Iran,kuwait, Nigeria contributing more than 80%(source:PPAC) @Equateall

Mon, 07 May 2012 07:27:37 +0000 - kpark_kunal - @iSaakshi I doubt!india has very concentrated oil importers! Saudi, Iran,kuwait, Nigeria contributing more than 80%(source:PPAC) @Equateall

Mon, 07 May 2012 07:27:36 +0000 - goonergurl20 - @ReiceCookieCook Pls sign this petition & help us #IndianGooners to get ESPN to telecast WBA vs. Arsenal LIVE in India! http://t.co/fq8qcKbQ

Mon, 07 May 2012 07:27:34 +0000 - WildNavigator - @sophontrack :) have it before going to sleep. In India we call this grandmothers medicinal therapies - it works wonders :) plants are gr8

Mon, 07 May 2012 07:27:33 +0000 - NattaliaLopeez - Perra, gata, zorra, wila, lobuki, puta, pendeja, india .i. Eso eres y mas >:O

Mon, 07 May 2012 07:27:33 +0000 - NandiniNitwh02 - Amarnath Yatra 2012 http://t.co/HFXZA28n via @AmarnathYatra1

Mon, 07 May 2012 07:27:32 +0000 - RealRediffCom - AI to debut Dreamliner on domestic routes: Air India says it would be operating its new Boeing-787 Dreamliner ai... http://t.co/FnibB4Kd

Mon, 07 May 2012 07:27:32 +0000 - RealRediffCom - Cut down Iranian oil purchases: Hillary to India: US Secretary of State Hillary Clinton on Monday urged India to... http://t.co/cX3hXbtl

Mon, 07 May 2012 07:27:31 +0000 - korean_fanatics - Yuri sebagai anak pemimpin desa India dalam kehidupan sebelumnya. Tidak heran ia memiliki kulit coklat susu #yulfact

Mon, 07 May 2012 07:27:30 +0000 - CGMANTRA - #CGMantra is the only academy in #India offering training in all domains of #Entertainment & #Media Sector.

Mon, 07 May 2012 07:27:29 +0000 - goonergurl20 - @KeroBlack Pls sign this petition & help us #IndianGooners to get ESPN to telecast WBA vs. Arsenal LIVE in India! http://t.co/fq8qcKbQ

&nbsp;

Have fun!

Upgrade Perl modules using cpan autobundle


It’s become bi weekly task to keep updated your Perl distro.

To achieve it I use following commands

perl -MCPAN -e shell
cpan> autobundle

Above command will generate a snapshot pm file. This file will include list of modules require upgrade.

Example
Snapshot_2012_05_01_01.pm

You can recheck the file and list of module with respective version. You have a facility to remove any of unwanted packages to your distro.

Once done the modification of the file you save it.

Now run below command

cpan> install Bundle::Snapshot_2012_05_01_01

This command will take care of installation of all these module incorporated in Snapshot_2012_05_01_00 file.

Bingo thats all! WeW

Perl6 rakodu on Mac OS X version 10.7.3


  1. download rakudo perl6 src from git
    https://github.com/downloads/rakudo/star/rakudo-star-2012.04.tar.gz

  2. perl Configure.pl –prefix=<DIR> –gen-nqp –gen-parrot

    <DIR> directory where you want to push the binaries of perl6
    It will avoid clash with existing Perl version running in system
    After command executed successfully check prefix dir, it should show following dir’s
    drwxr-xr-x 3 root staff 102 Apr 29 23:06 share
    drwxr-xr-x 3 root staff 102 Apr 29 23:06 include
    drwxr-xr-x 6 root staff 204 Apr 29 23:06 lib
    drwxr-xr-x 3 root staff 102 Apr 29 23:06 src
    drwxr-xr-x 14 root staff 476 Apr 29 23:08 bin

  3. make
  4. make rakudo-testAll tests successful.
    Files=23, Tests=227, 15 wallclock secs ( 0.09 usr  0.06 sys + 11.54 cusr  2.86 csys = 14.55 CPU)
    Result: PASS
  5. make rakudo-spectest
  6. make install

Exchange Traded Fund – ETF what is it, how it works, who likes it


A security that tracks an index, a commodity or a basket of assets like an index fund, but trades like a stock on an exchange.

ETFs experience price changes throughout the day as they are bought and sold.

It trades on public exchanges and can be bought and sold during market hours like stocks.

Because it trades like a stock, an ETF does not have its net asset value (NAV) calculated every day like a mutual fund does.

You can pretty much find an ETF for just about any kind of sector of the market

Popular ETFs example

ETF DESCRIPTION
SPY SPDR S&P 500 ETF
GLD SPDR Gold Trust
VWO Vanguard MSCI Emerging Markets
EEM iShares MSCI Emerging Markets Index
EFA iShares MSCI EAFE
QQQ PowerShares QQQ
IVV iShares S&P 500
TIP iShares Barclays TIPS Bond Fund
VTI Vanguard Total Stock Market VIPERs
LQD iShares iBoxx $ Investment Grade Corporate Bond

Spider (SPDR), which tracks the S&P 500 index and trades under the symbol SPY
QQQQ, this ETF represents the Nasdaq-100 Index, which consists of the 100 largest and most actively traded non-financial stocks on the Nasdaq, QQQQ offers broad exposure to the tech sector.

Investor get the diversification of an index fund as well as the ability to sell short, buy on margin and purchase as little as one share.

Types of ETFs

  1. Index ETFs – Tracks performance of index by holding its portfolio sample of the securities in the index
  2. Commodity ETFs or often referred as ETCs – Tracking non-security indices, example Gold ETFs
  3. Bond ETFs – Exchange-traded funds that invest in bonds are known as bond ETFs
  4. Currency ETFs – Tracking all major currencies
  5. Active Managed ETFs – It is fully transparent, publishing their current securities portfolios on their web sites daily.
  6. Leveraged ETFs – Leveraged index ETFs are often marketed as bull or bear funds

ETFs Trading

ETFs trade on market, investors can carry out same types of trades they do with stock.

Meaning, investors can sell short, use a limit order, use a stop-loss order, buy on margin, and invest as much or as little money as they wish (there is no minimum investment requirement).

Major criticism so far

ETFs represent short-term speculation, that their trading expenses decrease returns to investors, and that most ETFs provide insufficient diversification.


MySQL processes slowing down host server


Site is overloading the server

MySQL InnoDB database with approx 2gb data. Quite a few sleeping MySQL processes that could be the cause.

Before drilling down in code I would like to make few tweaks to mysql db configuration.Reduce the MySQL wait_timeout value to 3 seconds and increasing the number of allowed connections.Apparently, persistent connections do not currently play nice with transactions with InnoDB.

Mysql configuretion file my.cnf needs following parameters to changewait_timeout = 30 #30 secondsIncrease the number of allowed connection.

Here is the script to check if there is a MySQL sleeping process from long kill them and write log


#!/usr/bin/php -q

<?

$link = mysql_connect (“localhost”, “root”, “password”);

$query = “show processlist”;

$result = mysql_query($query) or die (“failed $query”);

while ($row = mysql_fetch_array($result))
{
    if (($row['Time'] >1000 && $row['Command'] == “Sleep”) && ($row['User'] != “Root”))
    {
        $killed = 0;
        mysql_query(“kill “.$row['Id']) or ($killed = 1);
        
        if ($killed = 1)
        {
            echo
            “Killed process number “.$row['Id'].”, with a User of “.$row['User']
            .” in database “.$row['db'].”, which had a time of “.$row['Time']
            .”, and a command of “.$row['Command'].”\r\n\r\n”;
        }
    }
}

@mysql_close($link);

?>



MySQL on Mac OS X


MySQL on Mac OS X 10.7.3

Installation & configuration

Download the mac based tar or dmg from MySQL website

Add group mysql

Add user mysql who’s group is mysql

shell> cd /usr/local
shell> tar zxvf /path/to/mysql-VERSION-OS.tar.gz
shell> cd mysql
shell> chown -R mysql .
shell> chgrp -R mysql .
shell> scripts/mysql_install_db –user=mysql
shell> chown -R root .
shell> chown -R mysql data

Run MySQL

bin/mysqld_safe –user=mysql &

Do not forget to change the root password

bin/mysqladmin -u root password ‘secure-phrase’