Inconsistent Option Naming For 'Last Trading Day' and For 'Day of Expiry'
The symbol GLD has options available to it. Option naming doesn't appear to be consistent.
For example, for a 2012/02/10 expiry for a GLD put at Interactive Brokers is
'GLD 120210P00167000'. 120210 is a Friday. On the other hand,
through the API, I had requested options for 20120518, and I receive in response the options
I need, but they are dated 120519, which is a Saturday: 'GLD 120519P00109000'.
Is any one able to shed some light on this? Responses can be sent to ray@oneunified.net and
I'll update this post with a summary of what I receive.
A VMWare Enterprise licensed solution consisting of a number of VMWare hosts, shared storage, plus the VSphere management
application is a complex product. Obtaining maximum performance means being able to tune a number of different sub-systems, and
to get the various sub-systems working together efficiently.
One of the key sub-systems many people over-look is the network. It appears as though many people think that simply
plugging gear into a series of gigibit ethernet ports is all that is necessary for inter-connecting the various VMWare
solution components. That may be true for a basic level of functionality, but not for optimal performance.
VMWare has a capability called vMotion. This allows guest operating systems to be migrated live from one host
to another. This requires synchronization of sessions between hosting physical servers, which relies on an efficient network connection.
vStorage is a function, very similar in capability to vMotion. In this case it is used to migrate file sets between VMWare DataStores
in a live scenario. This requires coordination between shared storage devices, between hosts, and between the host and shared storage devices. If iSCSI
is used for accessing shared storage, the network beocmes a doubly critical component of this migration and synchronization.
Here are some ideas for improving the performance of a VMWare solution at the network level.
Speed and Duplex: Sometimes it is easy to overlook the fact that the host server may not always negotiate proper speed and duplex settings
with the switch. Both the server and the switch should be checked to ensure that they have both negotiated to 1gbps at full duplex. GigE ports
may also perform handshaking. You will want to ensure that the host and the switch are consistent in their settings. Switches with
management interfaces will commonly show if there are any duplex mismatches, and will also show if there are errors encountered.
TCP Offload Engine (TOE): Do your Network Interface Cards (NICs) have TCP Offload Engine capability? Has it been enabled? Are the cards compatible with VMWare?
Fault Tolerance: Most modern enterprise servers come with two NICs. This provides for load-balancing and for fault-tolerance abilities. In one scenario,
the two NICs can be bundled and connected to one switch for higher overall throughput. The other scenario involves connecting one NIC to one switch and the other NIC to
another switch. In this mode, bundling has to be turned off. If one switch becomes unavailable, all traffic will run through the one switch still operating. With this
two switch configuration, there are a number of additional optimizations available, which will be described in subsequent points.
Separation of Data and ISCSI Traffic: When hosts use iSCSI for connecting to SAN or NAS devices, the network becomes an integral part of a host/datastore communications.
It is commonly recommended that iSCSI traffic
should not traverse the same network links as regular host data traffic. Therefore, in a general view, in the two NIC/two switch configuration defined above, iSCSI traffic
should be on one NIC and regular data traffic on the other. If you do regular switch access ports for the two types of traffic, the fault tolerance is no longer available, with
a solution for this outlined below. Also, all iSCSI preferred ports should be connected to one switch, and all data preferred ports should be connected to another switch.
Use of VLANs: In order to mix traffic types on the NICs, VLANs should be configured on the switches, and the switch ports connecting to the servers
should be configured as trunk ports. At this point, at least two VLANs are required: a data VLAN,
and an iSCSI VLAN. Typically a third native vlan is supplied, which can be the default vLAN of 1, or some other neutral VLAN. The native VLAN should not be used
for any sort of traffic. It is only on 802.1q type VLANs on which QOS can be set. The VLAN configurations should be identical on the two switches, and on each
of the two trunk ports connecting to the servers.
Server Separation of Traffic: Once the VLANs have been configured and matched on switch and server sides, the server should be set so that the iSCSI traffic favours
one VLAN and the data traffic favours the other VLAN. In the event of a switch failure, both traffic types will use the one link in a slightly degraded state.
Switch Ports: On many switches, each switch port shares bandwidth with other switch ports. This can cause traffic contention, and possibly packet loss. For example,
in a Cisco 4500E switch with a Supervisor V, each set of 8 ports on a 48 port blade shares 1gbps of bandwidth to the Supervisor. This is called
an over-subscription ratio, and in this case, the ports are over-subscribed in an 8:1 ratio. When working with high instantaneous traffic loads that VMWare hosts can
place on their associated iSCSI DataStores, use of over-subscribed ports is not recommended. It is best to use low port count server blades, or higher capacity
switches in order to eliminate these issues of bandwidth contention.
Switch Cross-Connects: In a similar vein, when cross connecting two switches, it is best to use non-blocking, non over-subscribed switch ports. Bundling multple ports
together to improve inter-switch traffic capacity is also recommended. Just remember that bundling two or more adjacent switch ports on an over-subscribed blade will not
yield the desired benefit. Only non-blocking, non-over-subscribed switch ports should be in a bundle.
Switch Spanning Tree: When multiple switches are inter-connected, they should be configured with spanning tree in order to prevent loops in the network. For
optimizing traffic patterns in a mixed iSCSI/Data network configured on redundant switches, a common rule of thumb is to keep iSCSI traffic on one switch, and all other
data traffic on the other switch. If the host server port connections for iSCSI and data, as explained above, are mixed between switches, then in some cases, one extra switch hop
is required, which even at the GigE level, can slow things down. Per-VLAN spanning tree should be implmented. The root for the iSCSI VLAN should be on the iSCSI preferred switch,
and the root for the Data VLAN should be on the Data preferred switch. This minimized the amount of cross switch data transfer, therefore optimizing traffic flow.
Switch Port Settings: When devices are turned on while connected to a switch port, or are first connected to a switch port, the switch will
typically not allow traffic to flow for a number of seconds while it recalculatese spanning tree. This delay period can be reduced on Cisco switches through the use of three
settings having to do with: portfast, bpdu-filter, and bpdu-guard.
Fault Tolerant Routing: This two switch configuration should be supported through redundant layer 3 routing, commonly implemented via HSRP, or VRRP.
When setting up with fault tolerant routing scenario, default gateway weighting for the iSCSI VLAN should favour the iSCSI switch, and default gateway weighting for
the data VLAN should favour the data preferred switch.
Fault Tolerant VLAN: Some VMWare Fault Tolerant operations require an inter-host heartbeat. It is best to create an additional VLAN for this data and make
it available over the trunk ports to the servers. I'd suggest setting preferences of this VLAN to the same NIC as the iSCSI VLAN. This can cause some contention, but
can be minimized through the use of QOS, as suggested in a following point.
Quality of Service: When multiple data types from multiple sources attempt to use common links, there is always the opportunity for contention, packet jitter, and
subsequent packet loss. I would rank heart beat traffic to be of highest priority (low volume), then iSCI traffic (high volume), then regular traffic (high volume). Suitable
QOS settings should be set on the host server side and on the various switch ports to ensure high priority traffic is prioritized and apportioned appropriately.
Management Overhead: Switches and ports may also carry other traffic such as routing protocols, network management data, voice traffic, etc. These
other traffic types have to be appropriately analyzed and integrated into the overall VLAN, QOS, and routing architecture.
Jumbo Frames: Common IPv4 traffic relies on packets containing payloads of a maximum of 1500 bytes (1500 byte MTU). Large data streams can be further optimized by adjusting
switches and host server NICs to allow larger MTU sizes. Values in the 9000 range are commonly used.
Summary: As you can see, there are many network related optimizations available for obtaining even better performance and reliablity for VMWare based clusters.
This note is a quickie on getting minicom to talk to a standard Cisco device.
After installing Minicom on Debian through
apt-get install minicom
Configure Minicom with
minicom -s
In serial port setup, more than likely the device needs to be changed from /dev/ttyS1 to
/dev/ttyS0. Bps should be 9600 8N1, and hardware flow control should be turned off.
Save the settings as dfl (default), and 'Exit from Minicom', else the modem initialization stuff
will take over.
Severance Pay - Video of a BMDS 24 Hours To Curtain Production
In 2009, Bermuda Musical and Dramatic Society presented 24 Hours to Curtain: six writers start at 8pm Friday night, are given an opening line, a closing line, and a prop. Their job is to write a 10 minute play, and have it finished by 8am Saturday morning, when the directors and actors come in to learn their lines, block the stage, rehearse, and are ready to put the production on at 8pm Saturday night. This is Severance Pay, one of the plays written over night and presented the next day. And I had just received a Panasonic HVX200A. This is one of my first attempts at video. The first couple of minutes scroll some dialog as I missed the opening.
Singer / Song Writer Steven Kerr was in Bermuda during January 2011 to
perform and record some songs with local musicians. I grabbed a camera
and we spent a day shooting video for his song Million Lights. Basically,
it is a travelogue of a few interesting spots in Bermuda.
During an upgrade cycle of my desktop computer, when I was prompted to reboot,
the computer would not reboot. It seems something corrupted the booting portion of the drive.
Yes, I know I'm supposed to back stuff up before performing changes, but in this case I didn't.
So... I needed to find a way to recover information off of a raid 10 drive array. I had two sets of two mirrored drives in a striped configuration: Raid 10.
As they were controlled by an Adaptec controllor card, I thought Adaptec might help. They were
unable to offer direct assistance, but they did suggest that the sofware offered by
Runtime Software would be of use.
I used Runtime Software's tools to examine my drives, and used their paid service to determine the drive configuration.
The response back from their paid service indicated that my drives were beyond recovery. Perhaps
the settings I used were incorrect for the data capture their software provided to their 'human
examiners'. But I would have thought they'd have an idea of what would be correct.
After receiving that bit of bad news, I decided to try data recovery myself. I licensed their
tools and gave it a try. Long story short, I was able to recover everything I needed.
The following video shows the steps I used to recover data from a drive
array controlled with an Adaptec AH2910SA Drive controller controlling four drives in a Raid 10
configuration.
When I saw this page, I had to take a break. This is a true hack. In the best sense of the
word.
Sitting in a walled garden, and only pings get out? Try this on for size:
ICMPTX (IP-over-ICMP).
By setting up a server side and a client side, someone has found a way to tunnel
IP traffic over ICMP packets, that is, when all is blocked, there is still a way out. Wow.
C++ IDE's for Linux: Eclipse, Code::Blocks, KDevelop
For my C++ code on a Linux platform, I started out by using the Eclipse/CDT editing environment. It offers
things like:
multiple tiled windows for editing
has wizards for setting up projects for libraries and for applications
built in debugging environment
live macro expansion (very handy for dealing with multi level boost::preprocessor expansions)
basic forms of code completion
by jumping through hoops, one can get Subversion integration
Recently, the hoops I needed to jump through with Eclipse started creating pain. Subversion integration
started generating errors when I upgraded the Java Runtime Environment. I also noticed that build times
on projects were slower than I would like. This was measurable in seconds, nothing earth shattering, but
adds up over time.
I then started to look at Code::Blocks 10. It's beneftis were:
reasonably fast interface, but can only view one file at a time in a simple tabbed interface
good build times
easy project creation
It's biggest draw back is that it uses a tabbed interface with no ability, (at least for what I could find), to
have multiple panes looking at different files simultaneously. Big show stopper there.
I then installed KDevelop 4. This environment, from initial inspection, appears to be much better. Things looking good
appear to be:
fast interface with tiled windows for viewing multiple files
Subversion is fully integrated from the 'get-go'
build times are quick
The learning curve is sharper/longer, but, from first blush, looks to be worth it. The basic requirement is
to learn how CMake works, as that is an integral part of the build process. The CMakeLists.txt file is part of the
IDE environment with some of it created automatically, and the special bits managed manually by the programmer.
On the initial look and feel, I think KDevelop will become my primary C++ code editing environment. I'm
hoping code completion works well, and that KDevelop deals with template stuff just as well.
Here's a handy way to think about it: Keep your age in fixed income. If you're 65 years old, at least 65% of your portfolio ought to be in fixed income.
Keeping money in mutual funds over the last few years has probably been a bad idea for individuals reaching retirement.
The better bet is to find income generating securities, for instance, stocks paying dividends. Even though the market value
may decrease, income is still derived from dividents payed by the company.
Another example might be short-duration, corporate bonds that are trading at a discount to par.
The iShares Corporate Bond Fund (HYG) yields about 9% for people who don't want to hold individual bonds.
There are some risks to corporate bonds, but provide one of the few good ways to get a reasonable amount of income.
In 1989, Richard W. ARms, Jr. wrote a book called The ARMS Index (TRIN).
In a nutshell, it makes use of various ratios of number of advancing and the number of
declining issues. In some cases, it can (or could) be used as a leading indicator of
equity market activity.
Oakshire Investment Research's Bourbon and Bayonets newsletter suggested that
this may now need to be take with a grain of salt:
It could well be that the 'Hindenberg Omen' is a helpful indicator for those who compute it on a regular basis, but for our part, there are problems associated with it that make it vulnerable to an excessive number of false positives.
It's the same issue, in fact, that plagues the once very valuable ARMS indicator, and some of the McLellan indicators, both of which are reliant on a daily reading of advancing and declining issues in the market.
The problem is this: these systems were designed to work by making a computation of all the market's common stocks, but today there are so many securities that are anything but common stocks that are dressed up and packaged as such . and they comprise an ever increasing number of the total issues trading on exchanges today. That includes bond and money market ETFs, Closed End Funds (CEFs), sector ETFs and preferred shares, not to mention all the reverse ETFs and other derivative products masquerading as common stock.
So to maintain some semblance of usefulness, the calculations will need to be refactored:
In short, both high/low numbers and advance/decline figures are not what they used to be. Certainly, for those who are able to strip out the superfluous aspects and compute the indicators on the basis of common stocks alone, there's something valuable to be had. Otherwise, we wouldn't trust the data as a stand alone indicator.
I have written several articles about Eclipse (the code editing UI) and it's
integration with subversion. This is an update of a few things to watch out for
with Eclipse, the Helios release. I do development on Linux as well as on Windows. In
this case my primary machine is a Windows machine running VMWare with several
guest Linux systems.
For the Linux systems with a GUI, I've used Cygwin to provide a mechanism of running the
Linux interfaces on my Windows interface. I have tried the VMWare Unity mechanism, but
on my multi-monitor system, it appears clunky and buggy.
When installing Cygwin, the key library to install is the 'xinit' library. This loads
all other necessary X11 libraries. Also include mintty in the Shells category for an
improved console experience.
As a side note for regular terminal operations in Cygwin, the following can be used with
mintty. Start 'ssh-agent mintty'.
mintty is explained at
http://code.google.com/p/mintty/.
Then use ssh-add to add a private key. The public key can be added to the ~/.ssh/authorized_key
files on the destination machines.
Anyway, for getting the GUI experience, use startxwin to start an xwindow terminal window.
Connect to the destination computer with 'ssh -l username -Y ipaddress'. At that point,
I run eclipse with '/usr/sbin/eclip[se/eclipse &'. The '&' forks the process and allows further
operations in the terminal window.
I've got ahead of myself here. To get eclipse installed, I downloaded the binaries from
eclipse.org, expanded them to a directory called eclipse. I then moved the directory to
/usr/sbin. Eclipse can then be started with '/usr/sbin/eclipse/eclipse'.
For version control, the Polaris subversion client is listed as a standard item
in the Collaboration items in the Eclipse New Software. After trying that, I wasn't very
pleased with the experience. It is not well integrated.
Instead, I removed the Polaris Subversive client and installed the Tigris.org
Subclipose Client.
The integration into Eclipse is much better. I used the SVNKit (Pure Java) connector
so as to obtain the svn+ssh://... tunnelling capability with a private key based login.
I've been accumulating a number of open browser windows, and need to get them closed.
The only way I can close them is to write about them. So here is a mish mash of things
I've collected.
The first collection looks at gold price manipulation. Many commentaters are saying
that gold is a safe investment for protection against today's faltering fiat money systems.
They are also saying that gold could reach highs of $1500, $2000, or even $7000.
Various conspiracy theories are indicating that JP MOrgan is acting on Government orders to
keep the price of Gold and Silver down. This could be one indication of why the price of
gold has been trading sideways for the last fews months in direct defiance of all the
money being thrown gold's way through direct investment, futures, and ETFs.
ZeroHedge has a
lateral reference to market manipulation via an article on the current Coco futures market sqeeze.
To profit from the market's manipulation of the gold market, some people have put together intraday average price
charts which show some interesting entry and exit times.
If gold is indeed going down, bullion bank's shorts could be cleared, and this could represent a buying opportunity
for gold. It is unclear how far the correction could go. But in any case, most places I read indicate that getting
into gold is a good thing. And to keep it for a while. Possibly a long while, as described by
Dylan Grice Discusses When To Take Profits On Gold: Hint - Not For A Long While.
Even while gold is undergoing some weakness, the
Wall St. Cheat Sheet
figures that it has considerable upwards strength. Once the manipulation is taken away, the price of gold could quickly get out of hand.
The government, any government, has an insatiable hunger for more and more money. On the US side of things,
there is talk of instituting a value added tax (VAT). Will it do any good?
According to an article written by David Ranson called
The Revenue Limits of Tax and Spend,
there appears to be a limit to how much tax a government can collect through it's various mechanisms.
Hauser's Law indicates that Federal tax receipts will always fall short of 20% of GDP. So...
if the government ever became efficient, they would use the opportunity to close out other departments where
taxes collected decrease.
The Canadian Government instituted their GST, which is a form of production pipeline tax. Both the
GST and VAT could be seen as a form of consumption tax. If you don't consume anything, you don't pay taxes. I
suppose that could be seen as the best of a bad situation.
Spending
As governments spend and spend like there is no tomorrow, they create larger and larger deficits. Deficits
can be covered by printing more and more money. Because there is no physical basis on which money resides,
it is called a fiat money. That is, governments can simply pay for things with money
it prints electronically out of thing air. Because gold
is a physical quantity, and can be traded, it's value should rise with the inflation of fiat money. But the
markets are appearing to be manipulated. Big Money is holding things back. By inflating away the value of fiat
money, governments have a slim chance of making good on the money they've spent. But with today's economy
as slow as it is, some are warning we could go into a deflationary phase. Governments don't like that, as
it makes it hard to cover their debts.
Keynesians would like to spend more and more to get out of the economic malaize currently existing. But that
just doesn't make sense anymore. The tipping point has probably been reached. It would appear that
even if there were to be a recovery, the recovery wouldn't be substantial enough to pay back even a small
percentage of what is owed.
Disclaimer: This site may include market analysis. All ideas, opinions, and/or
forecasts, expressed or implied herein, are for informational purposes only and should not
be construed as a recommendation to invest, trade, and/or speculate in the markets. Any
investments, trades, and/or speculations made in light of the ideas, opinions, and/or
forecasts, expressed or implied herein, are committed at your own risk, financial or
otherwise.