See Time For a Change for the first in this series, or view the index to see all entries dealing with Arch Linux.
Unlike Ubuntu, Arch uses a rolling release cycle. This means that new updates for included parts of the distribution (called "packages") come out whenever they are ready to come out. Instead of periodically inducing a forklift update, necessitating backups, testing, and stress, individual packages are given minor updates all the time. This means that new cool stuff is available sooner, and if any bugfixes or enhancements come out after a release, there is no need to wait. In practice, interim updates to Ubuntu and other fixed-cycle distros fix bugs pretty quickly, but applications included in the distribution are never updated with new functionality. Arch gives the user the power to decide when he wants to upgrade. As long as I run the update scripts regularly, my system is just as up-to-date as I want.
The downside to a rolling release cycle, of course, is that the distro maintainers don't have a fixed code-base to test against, making sure that everything works together smoothly. This increases the probability that the user will have to do more work to make things integrate the way he wants them to. But in practice, many of the open-source applications for Linux are run at so many version levels, thanks to the various distributions that package them at different snapshots of their ongoing developments, that they have evolved to inter-operate very well without relying on a specific version of this or that. Dependencies are usually described in terms of an inequality expression, like "glibc >= 2.3", meaning that the developer has tested against v2.3 of the glibc library, and knows of no changes to it after that time that breaks his application. So the ">=" expresses his expectation that any version of glibc at or above 2.3 should be fine. The other side of that coin is that packages in active development always make sure they work with the latest stable version of libraries like glibc. If a breaking change occurs to glibc, the developer of the application that relies on it will scramble along, updating his application to work with the new library. In the process, he may find he has to make it impossible for his app to work with prior versions of glibc, updating his dependency to "glibc >= 2.5".
Ubuntu is based on Debian, another Linux distro. Debian is famous for being very conservative about rolling out new code, which makes it very stable. Stability is great, but this conservatism means that two rounds of delays and testing need to happen before big changes come to the desktops of Ubuntu users: first Debian has to sign off on it, and then Ubuntu goes through its own round of customizing, integrating, and testing. Finally in April or October, the new stuff hits the wires for users to get as part of their Ubuntu systems. In theory, I can go get the latest-greatest directly from the teams building it: if I want KDE, I can go download it from kde.org. The problem with doing this is that Ubuntu manages its version of that software in its repositories, and now I have installed my own version. By working around the system in this way, I take on not only the installation, integration, and updating tasks, but also all the strange inter-dependency problems potentially introduced between my new version of KDE and my old versions of all my other applications. This is a slippery slope, and soon I find myself doing three kinds of version management on vast parts of my system: the Ubuntu (easy) way, my own home-grown (scripted) way, and the nasty and manual toggling back and forth on an individual package basis.
Arch, on the other hand, is not based on anything except Linux kernel source. When a new version of something big like KDE comes out, the Arch team builds it against the latest source tree, does some dependency checking to determine if related packages are affected, and packages the KDE-only release for deployment. Instead of a delay of close to 6 months, like Ubuntu, this regression testing and packaging is typically done in only a day or two. Recently, KDE had a fairly major revision bump from 4.6 to 4.7. The KDE project announced the new version on July 27. Arch had the package ready to be automatically updated on users' systems on July 30.
In addition to the officially supported packages like KDE, Arch has the Arch User Repository (AUR). This repository is maintained by the user base itself, and is the place to find the less-common applications that have not been officially added to the distribution. If something isn't in the AUR, anyone with the experience and community-mindedness can add it themselves, making it easier for the next guy to install the software. In Ubuntu, individual software maintainers can create their own repositories, called PPAs. These can be added to the Ubuntu Update Manager to automatically keep the software up-to-date. This works well, but PPA support is pretty spotty across various maintainers; often the web address of the PPA - where the Update Manager should go to check for updates to install - changes, causing arcane error messages in the Update Manager that must be decoded and dealt with. The PPA system does a good job of hiding the details of Open Source Software from the user, but that also makes it very difficult for him to fix his own problems when the maintainer is too busy to fix them for him. Arch avoids this issue by putting the responsibility squarely on the user's shoulders. This would make management of all these "3rd-party" applications nearly impossible for most, but not for a developer - and in practice, by the time I suffer enough pain to go deal with an issue myself, someone has probably already packaged the solution up for me and updated the AUR.
In general, Arch has a do-it-yourself flavor not found in most of the other distributions. This DIY spirit hearkens back to the early days of Linux, where if you wanted to run the operating system, you were compiling kernel source for hours first. Arch isn't nearly this effort-intensive, of course, since there is no reason for thousands of users to cover the same ground and deal with the same frustrations over and over. It strikes a balance between doing the common work so the user doesn't have to, and leaving the personal decisions (and the maintenance consequences) to each individual. Like all continuums, different people have different opinions about whether the right balance has been struck. That's OK, that's why we have so many distros to choose from!
Arch Linux isn't all sunshine and flowers, though. The installer is a lot less helpful than Ubuntu, and when you get done you find yourself at a console login: no desktop manager has been installed, not even X-Windows. If you don't know you need to keep the system up-to-date, or you don't know how, it doesn't get updated. If an update breaks your system, you're on your own to fix it. The growing user community is very helpful and the Arch Wiki is fantastic, but many of the basic things that users take for granted on Ubuntu (like wireless support) are the subjects of long, technical Wiki entries and vast arrays of piteous requests for help on community support forums. Each of these preceding words are a separate link, if you're feeling curious, and these are just the first page of results from Google! There are Linux distros (Mint) I would recommend in good conscience to a first-time user coming from Windows or Mac. Arch is not one of those distros. This is a big step up for me in terms of taking responsibility for the ongoing maintenance of my desktop machine, and I don't take it lightly.
The best way I know to make sure something is going to work and support all my critical computing tasks (including Minecraft) is to install it in a Virtual Machine, documenting my challenges and their solutions as I go. It's like a dress rehearsal.
Next: Virtual Box
Or check out the Index
Disclaimer: I am not an investment advisor. When I describe my own trading activities, it is not intended as advice or solicitation of any kind.
05 September 2011
04 September 2011
Time For a Change
This is the first post in a lengthy series describing my move to Arch Linux. To see all the posts, check out the index.
I have been running Linux pretty much exclusively at home for a couple of years now, and most people would consider that the end of the story. But for people who work and play with Linux on a daily basis, the next obvious question is: which distribution? So far, it has been Ubuntu, but I'm working on switching to a much more advanced and up-to-date distro: Arch. It has already been an adventure, and the adventure continues. But first some background on my choice, and why I want to switch, and why switching isn't as simple as just downloading a new ISO and loading it up.
At work, I mostly program on a real-time Linux distro called RedHawk, which is based on Red Hat Enterprise Linux, known affectionately by most in the Linux community as RHEL. RedHawk had its beginnings in the aerospace and defense industry, where real-time kernels were first deemed critical. It and other real-time distributions has a rapidly growing user base in the finance industry, now that latency is measured in microseconds and nanoseconds instead of milliseconds. Unlike most Linux distributions, RedHawk isn't free - in fact, it's pretty damn expensive, and since it is geared for the defense industry, it isn't kept all that up-to-date. It's a nearly perfect platform for writing latency-sensitive enterprise trading software, but it really sucks for a home machine on which I want to do lots of other - and more fun - things. Plus, it's tough to find a community of users giving help to each other, since it is mostly populated by the hyper-paranoid (finance is as paranoid as the defense industry, but isn't as good at it).
I decided to make the switch from Windows to Linux at home when we decided to move our trading system from Windows to Linux. I figured if I was going to become professionally proficient, it would be a good idea to immerse myself. Plus, I had been thinking I wanted to make the switch "sometime" anyway, and this was a good push in the right direction. I had used Linux as a server at home and was fairly comfortable with most things, but the move to it as my primary desktop was a scary one. So I chose Ubuntu.
Ubuntu is the most popular distribution out there, and is geared toward the novice. Nearly everything can be done with the GUI instead of having to memorize arcane Unix commands. It has a nice friendly installation utility that does a great job of figuring out all your hardware and installing the right drivers for it, just like Windows. It automatically keeps your system up-to-date with an Update Manager, and it provides a nice Software Center facility for searching for software and installing it, usually with the click of a button. But best of all, it has a huge user community consisting of a large number of lost newbs, just like I was, and a moderate number of helpful experts, who answer all their questions. Whenever I had a problem, I was able to find others who had the same problem and had already gotten answers to their questions. This was a big help to a stranger in a strange land.
Ubuntu releases a new version of itself every 6 months, in April and October. The April release is always a new major version number, with ".04" on the end, and the October release bumps that to ".10". Each release has a corny moniker consisting of an adjective and a creature, both starting with the same first letter, which increments with each release. My first installation of Ubuntu was 9.04, Jaunty Jackalope, and today I am running 10.10, Maverick Meerkat. The upcoming release, due in a month or so, is 11.10, Oneiric Ocelot (no, I am not making this up). Most users of Ubuntu simply refer to the various versions by their adjectives: Jaunty, Karmic, Lucid, Maverick, Natty, and now Oneiric.
I dislike the semi-annual release schedule that Ubuntu follows. Because it comes so frequently, it seems like everyone is always looking forward to what is coming in the next release. This causes older releases to rapidly become implicitly unsupported, since the instant response to a question like, "how do I get this new version of XYZApp to run on Maverick?" is usually, "just upgrade to Natty!" This becomes a problem to an old stick-in-the-mud programmer like me who has the heretical viewpoint that his computer is a means to an end, instead of an end in itself. I don't want to constantly be servicing the beast, feeding logs into its all-consuming version furnace, when I would rather be doing more important things like playing Minecraft.
Most people just let Ubuntu upgrade itself to the next version every 6 months, but I find this terrifying. Maybe it's my Windows heritage, but every time my operating system says, "great new version available with lots of awesome features! Wanna upgrade?" All I hear is, "we've barely finished testing this, and none of your applications are going to work right, and you won't be able to find anything! Wanna roll the dice?" My computer is a garden, not a waste dump, and as such, I'm very careful what I plant in it. My normal procedure for a new version of an operating system is to wait for a few months to see if any major issues crop up, then try it in a Virtual Machine and get all my apps installed and configured to make sure they still work. Then I back up my hard drive, wipe it to clean out any cruft, and then install clean, reinstalling and reconfiguring each of my applications. I usually take that opportunity for hardware upgrades, too. Needless to say, this is not a procedure I want to be going through every 6 months!
Lately, the desktop Linux world has been going through some upheaval. Gnome, the desktop manager I use, has come out with a major overhaul that is ruffling a lot of feathers: Linus Torvalds called the new version "an unholy mess." KDE, the other major desktop manager, has been swinging and missing for years, ever since they started on KDE 4. But just a few months ago they came out with version 4.6 that fixed nearly all of the problems. KDE has a reputation for being a desktop manager that really caters to programmers with its powerful scripting, widgets, and customization capabilities. I tried to use it while it was broken, and now I'm ready to give it another try. Ubuntu, meanwhile, has switched to a new default desktop manager called Unity that looks like it's designed for netbook users, which I tried for a while on the laptop and decided I couldn't stand.
I want an up-to-date system. I want to be able to run Gnome 3.1 and KDE 4.7 as soon as they come out, without waiting for Ubuntu to get around to releasing it. When bugs get found and fixed, I want the changes immediately instead of having to go through another forklift upgrade 6 months later just to fix some bugs. I want to run the desktop manager of my choosing without having to work around my distro. I am no longer a Linux newb who needs his hand held: I'm ready to take responsibility for a greater part of my system, scripting my own upgrades and figuring out my own problems.
Next: Why I Chose Arch
Or check out the Index
I have been running Linux pretty much exclusively at home for a couple of years now, and most people would consider that the end of the story. But for people who work and play with Linux on a daily basis, the next obvious question is: which distribution? So far, it has been Ubuntu, but I'm working on switching to a much more advanced and up-to-date distro: Arch. It has already been an adventure, and the adventure continues. But first some background on my choice, and why I want to switch, and why switching isn't as simple as just downloading a new ISO and loading it up.
At work, I mostly program on a real-time Linux distro called RedHawk, which is based on Red Hat Enterprise Linux, known affectionately by most in the Linux community as RHEL. RedHawk had its beginnings in the aerospace and defense industry, where real-time kernels were first deemed critical. It and other real-time distributions has a rapidly growing user base in the finance industry, now that latency is measured in microseconds and nanoseconds instead of milliseconds. Unlike most Linux distributions, RedHawk isn't free - in fact, it's pretty damn expensive, and since it is geared for the defense industry, it isn't kept all that up-to-date. It's a nearly perfect platform for writing latency-sensitive enterprise trading software, but it really sucks for a home machine on which I want to do lots of other - and more fun - things. Plus, it's tough to find a community of users giving help to each other, since it is mostly populated by the hyper-paranoid (finance is as paranoid as the defense industry, but isn't as good at it).
I decided to make the switch from Windows to Linux at home when we decided to move our trading system from Windows to Linux. I figured if I was going to become professionally proficient, it would be a good idea to immerse myself. Plus, I had been thinking I wanted to make the switch "sometime" anyway, and this was a good push in the right direction. I had used Linux as a server at home and was fairly comfortable with most things, but the move to it as my primary desktop was a scary one. So I chose Ubuntu.
Ubuntu is the most popular distribution out there, and is geared toward the novice. Nearly everything can be done with the GUI instead of having to memorize arcane Unix commands. It has a nice friendly installation utility that does a great job of figuring out all your hardware and installing the right drivers for it, just like Windows. It automatically keeps your system up-to-date with an Update Manager, and it provides a nice Software Center facility for searching for software and installing it, usually with the click of a button. But best of all, it has a huge user community consisting of a large number of lost newbs, just like I was, and a moderate number of helpful experts, who answer all their questions. Whenever I had a problem, I was able to find others who had the same problem and had already gotten answers to their questions. This was a big help to a stranger in a strange land.Ubuntu releases a new version of itself every 6 months, in April and October. The April release is always a new major version number, with ".04" on the end, and the October release bumps that to ".10". Each release has a corny moniker consisting of an adjective and a creature, both starting with the same first letter, which increments with each release. My first installation of Ubuntu was 9.04, Jaunty Jackalope, and today I am running 10.10, Maverick Meerkat. The upcoming release, due in a month or so, is 11.10, Oneiric Ocelot (no, I am not making this up). Most users of Ubuntu simply refer to the various versions by their adjectives: Jaunty, Karmic, Lucid, Maverick, Natty, and now Oneiric.
I dislike the semi-annual release schedule that Ubuntu follows. Because it comes so frequently, it seems like everyone is always looking forward to what is coming in the next release. This causes older releases to rapidly become implicitly unsupported, since the instant response to a question like, "how do I get this new version of XYZApp to run on Maverick?" is usually, "just upgrade to Natty!" This becomes a problem to an old stick-in-the-mud programmer like me who has the heretical viewpoint that his computer is a means to an end, instead of an end in itself. I don't want to constantly be servicing the beast, feeding logs into its all-consuming version furnace, when I would rather be doing more important things like playing Minecraft.
Most people just let Ubuntu upgrade itself to the next version every 6 months, but I find this terrifying. Maybe it's my Windows heritage, but every time my operating system says, "great new version available with lots of awesome features! Wanna upgrade?" All I hear is, "we've barely finished testing this, and none of your applications are going to work right, and you won't be able to find anything! Wanna roll the dice?" My computer is a garden, not a waste dump, and as such, I'm very careful what I plant in it. My normal procedure for a new version of an operating system is to wait for a few months to see if any major issues crop up, then try it in a Virtual Machine and get all my apps installed and configured to make sure they still work. Then I back up my hard drive, wipe it to clean out any cruft, and then install clean, reinstalling and reconfiguring each of my applications. I usually take that opportunity for hardware upgrades, too. Needless to say, this is not a procedure I want to be going through every 6 months!
Lately, the desktop Linux world has been going through some upheaval. Gnome, the desktop manager I use, has come out with a major overhaul that is ruffling a lot of feathers: Linus Torvalds called the new version "an unholy mess." KDE, the other major desktop manager, has been swinging and missing for years, ever since they started on KDE 4. But just a few months ago they came out with version 4.6 that fixed nearly all of the problems. KDE has a reputation for being a desktop manager that really caters to programmers with its powerful scripting, widgets, and customization capabilities. I tried to use it while it was broken, and now I'm ready to give it another try. Ubuntu, meanwhile, has switched to a new default desktop manager called Unity that looks like it's designed for netbook users, which I tried for a while on the laptop and decided I couldn't stand.
I want an up-to-date system. I want to be able to run Gnome 3.1 and KDE 4.7 as soon as they come out, without waiting for Ubuntu to get around to releasing it. When bugs get found and fixed, I want the changes immediately instead of having to go through another forklift upgrade 6 months later just to fix some bugs. I want to run the desktop manager of my choosing without having to work around my distro. I am no longer a Linux newb who needs his hand held: I'm ready to take responsibility for a greater part of my system, scripting my own upgrades and figuring out my own problems.
Next: Why I Chose Arch
Or check out the Index
Happy 1982
In the Year-a-Month project, it's 1982. My original list has only four albums on it this month, but I did a little swapping and editing. And Amazon, for unknown reasons, seems to think that shipping me CDs is less expensive than downloading me some data. So I could only listen to samples of Judas Priest and Accept; the full albums will have to wait for Super Saver Shipping to arrive.
Ted Nugent: Nugent - There are a few songs by Ted Nugent that have rocked so hard that they have made me react positively to him whenever I heard him announced on the radio. But I'm coming to realize that those songs are the exceptions rather than the rule. This album's uninspired name (don't confuse it with the 1975 debut album, Ted Nugent) is indicative of the music within. Ted seems to be phoning it in on this one, so I'm skipping it entirely.
Judas Priest: Screaming for Vengeance - from what I've read, this album marked the high point in Judas Priest's U.S. popularity. The album went double-platinum here, the only Priest album to reach that distinction. It seems to be a fan favorite, too: out of 165 reviews on Amazon, 127 of them are a full 5-stars. Review titles are things like: "Best Ever!", "Metal Gods", and "Back when metal was still metal". I can't wait to hear it...
Iron Maiden: The Number of the Beast - Bruce Dickinson has arrived! His iconic British Heavy Metal voice takes center stage on the very first track. Nevertheless, Bruce drops in pretty neatly to replace Paul Di'Anno, and overall, the band sound hasn't really changed that much since the first two albums. I'm listening to The Number of the Beast as I write this blog entry, and I keep having to take breaks for head-banging.
Accept: Restless and Wild - The opening track of this album, "Fast as a Shark", is considered among the first speed metal songs. It just barely beat out the grand masters, Metallica, who released Kill 'Em All a year later, beginning the biggest heavy metal dynasty of all time. You won't see Metallica next month, though, because all their albums already inhabit my shelves. In any case, I'm looking forward to hearing this early speed metal example along with the rest of the album when it arrives.
Motörhead: Motörhead - Wait a minute, this album is from 1977, not 1982! What gives? Somehow, Motörhead managed to get forgotten when I was putting together my band list. Since my Amazon order for Screaming for Vengeance and Restless & Wild didn't qualify for Super Saver Shipping, I figured now would be a good time to start rectifying that oversight. This album isn't available for MP3 download at all, so I'm buying it without any preview. The anticipation is killing me.
Ted Nugent: Nugent - There are a few songs by Ted Nugent that have rocked so hard that they have made me react positively to him whenever I heard him announced on the radio. But I'm coming to realize that those songs are the exceptions rather than the rule. This album's uninspired name (don't confuse it with the 1975 debut album, Ted Nugent) is indicative of the music within. Ted seems to be phoning it in on this one, so I'm skipping it entirely.
Judas Priest: Screaming for Vengeance - from what I've read, this album marked the high point in Judas Priest's U.S. popularity. The album went double-platinum here, the only Priest album to reach that distinction. It seems to be a fan favorite, too: out of 165 reviews on Amazon, 127 of them are a full 5-stars. Review titles are things like: "Best Ever!", "Metal Gods", and "Back when metal was still metal". I can't wait to hear it...
Iron Maiden: The Number of the Beast - Bruce Dickinson has arrived! His iconic British Heavy Metal voice takes center stage on the very first track. Nevertheless, Bruce drops in pretty neatly to replace Paul Di'Anno, and overall, the band sound hasn't really changed that much since the first two albums. I'm listening to The Number of the Beast as I write this blog entry, and I keep having to take breaks for head-banging.
Accept: Restless and Wild - The opening track of this album, "Fast as a Shark", is considered among the first speed metal songs. It just barely beat out the grand masters, Metallica, who released Kill 'Em All a year later, beginning the biggest heavy metal dynasty of all time. You won't see Metallica next month, though, because all their albums already inhabit my shelves. In any case, I'm looking forward to hearing this early speed metal example along with the rest of the album when it arrives.
Motörhead: Motörhead - Wait a minute, this album is from 1977, not 1982! What gives? Somehow, Motörhead managed to get forgotten when I was putting together my band list. Since my Amazon order for Screaming for Vengeance and Restless & Wild didn't qualify for Super Saver Shipping, I figured now would be a good time to start rectifying that oversight. This album isn't available for MP3 download at all, so I'm buying it without any preview. The anticipation is killing me.
31 August 2011
We Won
There's a little spike in internet traffic caused by an article by a Gizmodo intern about how she found herself on a date with John Finkel, the 2000 world champion of Magic: The Gathering. Finkel was once called by Magic head designer Mark Rosewater: "the most naturally gifted player the game has ever seen." In general, the online community is furious at how shallow and geek-unfriendly this intern appears, and I have to admit I found myself agreeing to a great extent. Some of the bile-spitting critiques of this article are fantastic, but do yourself a favor and read the original first. Then Google Alyssa Bereznak, the troll who originally posted it, and you'll find an array of enraged people suggesting that maybe being a world champion at something is more notable than what that activity is.
How many of us can say "I am the best in the world" at ... anything? It seems to me that it is a big mistake to fail to appreciate someone who has the dedication, drive, and talent to become a world champion of something. That combination of qualities is rare, and champions can often reach unusually high skill levels in other activities as well.
What if he pursued the activity of making you happy with the same drive and determination?
And to those of us who have been the John Finkels of this story, I say: Stop apologizing. If you're good at something, take pride in it. Anyone who belittles your accomplishments because they aren't interested in doing it themselves probably doesn't deserve to date you. And anyone who judges a world champ based on their own prejudices about others who pursue the same activity? They don't even deserve to know you.
This is a lesson I myself am only learning now, in my 40s. I am a software developer, and in my own humble opinion I'm a pretty damn good one. I won't try to convince you of that, because that's not the point - just take as given that I'm a talented developer. The problem is that for the longest time I avoided identifying myself as a programmer in social situations. My excuses were that no one would understand what that meant, or I was escaping the natural "can you fix my computer" follow-up. But truthfully, I was afraid of being judged, categorized, and discarded before the new acquaintance got to know me.
This may have made sense in High School, in the 80s (yes, the 1980s; yes, there were computers to program back then; no, they didn't need to be hand-cranked), but as one of the blogs above put it, "the first geek wave is in our mid-40s now. WE OWN EVERYTHING. ... WE WON."
I have recently made a personal resolution to stop being ashamed of my own strengths. When asked what I do for a living, I will no longer vaguely mumble that "I'm in computers." I will no longer immediately change the subject. I will certainly not categorize myself by saying, "oh, I'm a software guy," like I'm apologizing for something. Instead, I will enthusiastically explain (briefly) that I write trading systems for a futures trading firm. If that doesn't interest my conversational partner, then neither of us have spent much time on the topic, and we can move on. But I might discover that they have a common interest, and we can enjoy discussing things that we both find very fascinating. And if my life puts someone off or makes them think less of me as a nerd or a geek, they can pound sand.
Join me.
How many of us can say "I am the best in the world" at ... anything? It seems to me that it is a big mistake to fail to appreciate someone who has the dedication, drive, and talent to become a world champion of something. That combination of qualities is rare, and champions can often reach unusually high skill levels in other activities as well.
What if he pursued the activity of making you happy with the same drive and determination?
And to those of us who have been the John Finkels of this story, I say: Stop apologizing. If you're good at something, take pride in it. Anyone who belittles your accomplishments because they aren't interested in doing it themselves probably doesn't deserve to date you. And anyone who judges a world champ based on their own prejudices about others who pursue the same activity? They don't even deserve to know you.
This is a lesson I myself am only learning now, in my 40s. I am a software developer, and in my own humble opinion I'm a pretty damn good one. I won't try to convince you of that, because that's not the point - just take as given that I'm a talented developer. The problem is that for the longest time I avoided identifying myself as a programmer in social situations. My excuses were that no one would understand what that meant, or I was escaping the natural "can you fix my computer" follow-up. But truthfully, I was afraid of being judged, categorized, and discarded before the new acquaintance got to know me.
This may have made sense in High School, in the 80s (yes, the 1980s; yes, there were computers to program back then; no, they didn't need to be hand-cranked), but as one of the blogs above put it, "the first geek wave is in our mid-40s now. WE OWN EVERYTHING. ... WE WON."
I have recently made a personal resolution to stop being ashamed of my own strengths. When asked what I do for a living, I will no longer vaguely mumble that "I'm in computers." I will no longer immediately change the subject. I will certainly not categorize myself by saying, "oh, I'm a software guy," like I'm apologizing for something. Instead, I will enthusiastically explain (briefly) that I write trading systems for a futures trading firm. If that doesn't interest my conversational partner, then neither of us have spent much time on the topic, and we can move on. But I might discover that they have a common interest, and we can enjoy discussing things that we both find very fascinating. And if my life puts someone off or makes them think less of me as a nerd or a geek, they can pound sand.
Join me.
05 August 2011
Another Flurry of Trades
Remember a couple of days ago I said I thought the stock market was overpriced and due for a correction? Well I certainly didn't expect it so suddenly. Since my blog post on 2-August, the S&P has shaved off 6% of its value, dipping as low as 1163.25 (futures) on an intraday basis. This intraday low represents a -13% peak-to-trough return in the past month. Meanwhile gold rallied hard (at first), making me very glad I hadn't taken my entire call position off. I had another flurry of trades the last couple of days, most of them defensive.
Yesterday, my GLD calls were close to triple the price I paid a few days prior. I was working a 400% profit order on 25% of them to secure a profit and let me continue to ride the train as long as I could. As they hit their high, rumors emerged that big London-based hedge funds were getting margin calls on their gold positions. Our company's market analyst mumbled the announcement about the rumors (a frequent problem lately), and NeighborTrader and I thought he said that the CME was raising its margin requirements on gold futures. Either way, gold immediately went into a hard sell-off, and I was reminded of what happened to silver when the CME raised its margin requirement a few months ago. Now gold today is a very different market than silver then, but that wouldn't stop a mini-panic from pushing gold down and keeping it there until my calls expired worthless. To control the cost of this possible outcome, I sold enough calls to guarantee a profit, getting a trade price only 4c below the high. Immediately afterward, the calls sold off and are now trading 33% lower. Whew! I still hold a little less than half my initial position at about double my purchase price, and if I let it expire worthless I will still make 6% profit - enough to cover commissions.
The day after SPY opened below its 200-day moving average, causing CS|MACO to close its long SPY position, the AAII released its weekly investor sentiment survey. Over 10% of investors stopped being bullish this week, which was enough to get a Buy signal out of the CS component. Buy + Flat = Buy, so yesterday I bought SPY back at 124.30, which seemed great at the time (it was 3.50/share lower than where I sold it), but isn't looking so wonderful now that SPY is trading at 120.
I was working target exit orders on both of my SPY put positions, which I mentioned in the previous post; I never dreamed both of them would fill yesterday, but then yesterday was an unusual day. Despite making a combined 56% on those puts, by the end of the day I was kicking myself for not holding the second batch until the market stabilized. I left a significant amount of money on the table: the position I sold for $7/share is now worth $10.50/share, and the one I sold for $6/share is now worth $8.25/share. Sigh. NeighborTrader pointed out that I can't always sell the high, and I suppose he's right.
Yesterday crude oil dropped by $5.50/barrel, or -6% *on the day*. If you need any confirmation that the global economy is slowing into a new recession, this is it. Demand for crude waxes and wanes based on industrial activity, and the capital markets are exceptionally good at predicting and magnifying changes in demand. When crude sells off hard over several days, it's a very bearish economic signal. On 26-July, crude oil futures hit a high of 100.62/barrel. Today's low in crude was 82.87: -18% in less than 2 weeks, a very bearish signal indeed. I had an order working to buy USO at $35, which was filled yesterday during the craziness. I'll buy more when I think we're near the nadir of the recession.
After the massive sell-off yesterday, I came in this morning expecting:
In fact I was so sure about this that I bought Nasdaq futures at about 7:15, 15 minutes before the number.
What happened was:
I sold back my futures immediately after the number for a $430/contract profit. It's nice to be right every once in a while, and it's even nicer to be able to make a little money doing it.
The final trade of the day today was that Xilinx (XLNX) sold off enough to hit my target exit on the put position I've had there for a while. At last glance, I sold the high price of the day in that option market. That doesn't really make up for the SPY puts, but it's a start.
| S&P 500 (proxied by SPY) since 1-Jan-2011 |
Yesterday, my GLD calls were close to triple the price I paid a few days prior. I was working a 400% profit order on 25% of them to secure a profit and let me continue to ride the train as long as I could. As they hit their high, rumors emerged that big London-based hedge funds were getting margin calls on their gold positions. Our company's market analyst mumbled the announcement about the rumors (a frequent problem lately), and NeighborTrader and I thought he said that the CME was raising its margin requirements on gold futures. Either way, gold immediately went into a hard sell-off, and I was reminded of what happened to silver when the CME raised its margin requirement a few months ago. Now gold today is a very different market than silver then, but that wouldn't stop a mini-panic from pushing gold down and keeping it there until my calls expired worthless. To control the cost of this possible outcome, I sold enough calls to guarantee a profit, getting a trade price only 4c below the high. Immediately afterward, the calls sold off and are now trading 33% lower. Whew! I still hold a little less than half my initial position at about double my purchase price, and if I let it expire worthless I will still make 6% profit - enough to cover commissions.
| Gold (proxied by GLD) since 1-Jan-2011 |
The day after SPY opened below its 200-day moving average, causing CS|MACO to close its long SPY position, the AAII released its weekly investor sentiment survey. Over 10% of investors stopped being bullish this week, which was enough to get a Buy signal out of the CS component. Buy + Flat = Buy, so yesterday I bought SPY back at 124.30, which seemed great at the time (it was 3.50/share lower than where I sold it), but isn't looking so wonderful now that SPY is trading at 120.
I was working target exit orders on both of my SPY put positions, which I mentioned in the previous post; I never dreamed both of them would fill yesterday, but then yesterday was an unusual day. Despite making a combined 56% on those puts, by the end of the day I was kicking myself for not holding the second batch until the market stabilized. I left a significant amount of money on the table: the position I sold for $7/share is now worth $10.50/share, and the one I sold for $6/share is now worth $8.25/share. Sigh. NeighborTrader pointed out that I can't always sell the high, and I suppose he's right.
Yesterday crude oil dropped by $5.50/barrel, or -6% *on the day*. If you need any confirmation that the global economy is slowing into a new recession, this is it. Demand for crude waxes and wanes based on industrial activity, and the capital markets are exceptionally good at predicting and magnifying changes in demand. When crude sells off hard over several days, it's a very bearish economic signal. On 26-July, crude oil futures hit a high of 100.62/barrel. Today's low in crude was 82.87: -18% in less than 2 weeks, a very bearish signal indeed. I had an order working to buy USO at $35, which was filled yesterday during the craziness. I'll buy more when I think we're near the nadir of the recession.
| Oil (proxied by USO) since 1-Jan-2011 |
After the massive sell-off yesterday, I came in this morning expecting:
- a better than expected monthly payrolls number
- a big number-driven rally in the stock market
- a post-number sell-off to yesterday's close price or lower by the end of the day.
In fact I was so sure about this that I bought Nasdaq futures at about 7:15, 15 minutes before the number.
What happened was:
- a better than expected payrolls number (+117k/9.1% vs expected +85k/9.2%)
- a big number-driven rally (S&P rallied about 19 points, Dow rallied about 280)
- the craziest roller coaster of a day I've seen since the Flash Crash; S&P has had a 60-point range, Dow has had a range of about 460 points. It closed 3 points below yesterday's close.
I sold back my futures immediately after the number for a $430/contract profit. It's nice to be right every once in a while, and it's even nicer to be able to make a little money doing it.
The final trade of the day today was that Xilinx (XLNX) sold off enough to hit my target exit on the put position I've had there for a while. At last glance, I sold the high price of the day in that option market. That doesn't really make up for the SPY puts, but it's a start.
Labels:
CS|MACO,
Flash,
gold,
moving average,
NeighborTrader,
sentiment,
SPY,
trade
03 August 2011
Happy 1981
July was 1981 in the Year a Month project, but I was so busy listening to Daemon and FreedomTM on the way back and forth to work that I decided to let it slip to August.
Accept: Breaker - I had heard of Accept, and certainly heard their 80s hit Balls to the Wall, but didn't really know much about them. Then MJ posted a comment on June's blog entry suggesting I take a look at them. I did, and I like what I hear so far. The vocals are a little on the screechy side, but I'll take screechy heavy metal vocals over the growly nonsense that seems to have infested the genre lately. I really like the guitar work, which sounds a little like a cross between Judas Priest and a 1980s version of Godsmack (or maybe I should say that Godsmack's guitars sound a little like Accept).
Black Sabbath: Mob Rules - This is my 10th Sabbath album, and the second album with Dio at the microphone. He also wrote all the lyrics, and like the other members of the band, participated in the writing of the music. The graveyard sound of their first album is completely replaced by an almost groove-metal feel. I like them both, and I'm impressed that this band can change so much and yet sound so good.
Iron Maiden: Killers - I'm continuing to really dig Iron Maiden. This their second album seems a little faster than their first, but otherwise pretty similar. MJ says when Bruce Dickinson joins next year, "they become a whole new band." I'm sure he meant that as a compliment, which makes me excited to hear the changes next month.
Judas Priest: Point of Entry - Judas Priest's 1980 album, British Steel, is a tough act to follow, but yet they managed to pull it off this year. The guitars are slightly more distorted, and Halford's voice is slightly rougher, and the result is a tougher, more methodical style that really works.
Ozzy Osbourne: Diary of a Madman - Listening to Ozzy belt out these songs, you would never guess he'd been kicked out of Black Sabbath for his drug problems. This album really takes me back, because I remember all the controversy surrounding the "bat incident" during the concert tour to promote this album. For you Ozzy purists out there, never fear: I was careful to get the "Legacy" version, which puts the original bass and drum tracks back in where they belong.
ZZ Top: El Loco - ZZ Top continues to be right on my too-bluesy threshold, but they never fail to entertain anyway. This one has Tube Snake Boogie on it - need I say more?
I decided to retire Rainbow this month. Down to Earth was the first album after Ronnie James Dio's departure, and it retained a lot of the same Dio sound that I enjoyed in the first 3 albums. But I listened to some samples of Difficult to Cure and decided that Rainbow's style had diverged too far from my tastes.
I also decided to finally give up on The Who. I took a multi-year break from them after slogging through The Who By Numbers, and chose 1981 (Face Dances) as the year I would revisit the band and see how things sounded. No dice. The Who, for me, remains a band of singles and greatest hits albums.
Accept: Breaker - I had heard of Accept, and certainly heard their 80s hit Balls to the Wall, but didn't really know much about them. Then MJ posted a comment on June's blog entry suggesting I take a look at them. I did, and I like what I hear so far. The vocals are a little on the screechy side, but I'll take screechy heavy metal vocals over the growly nonsense that seems to have infested the genre lately. I really like the guitar work, which sounds a little like a cross between Judas Priest and a 1980s version of Godsmack (or maybe I should say that Godsmack's guitars sound a little like Accept).
Black Sabbath: Mob Rules - This is my 10th Sabbath album, and the second album with Dio at the microphone. He also wrote all the lyrics, and like the other members of the band, participated in the writing of the music. The graveyard sound of their first album is completely replaced by an almost groove-metal feel. I like them both, and I'm impressed that this band can change so much and yet sound so good.
Iron Maiden: Killers - I'm continuing to really dig Iron Maiden. This their second album seems a little faster than their first, but otherwise pretty similar. MJ says when Bruce Dickinson joins next year, "they become a whole new band." I'm sure he meant that as a compliment, which makes me excited to hear the changes next month.
Judas Priest: Point of Entry - Judas Priest's 1980 album, British Steel, is a tough act to follow, but yet they managed to pull it off this year. The guitars are slightly more distorted, and Halford's voice is slightly rougher, and the result is a tougher, more methodical style that really works.
Ozzy Osbourne: Diary of a Madman - Listening to Ozzy belt out these songs, you would never guess he'd been kicked out of Black Sabbath for his drug problems. This album really takes me back, because I remember all the controversy surrounding the "bat incident" during the concert tour to promote this album. For you Ozzy purists out there, never fear: I was careful to get the "Legacy" version, which puts the original bass and drum tracks back in where they belong.
ZZ Top: El Loco - ZZ Top continues to be right on my too-bluesy threshold, but they never fail to entertain anyway. This one has Tube Snake Boogie on it - need I say more?
I decided to retire Rainbow this month. Down to Earth was the first album after Ronnie James Dio's departure, and it retained a lot of the same Dio sound that I enjoyed in the first 3 albums. But I listened to some samples of Difficult to Cure and decided that Rainbow's style had diverged too far from my tastes.
I also decided to finally give up on The Who. I took a multi-year break from them after slogging through The Who By Numbers, and chose 1981 (Face Dances) as the year I would revisit the band and see how things sounded. No dice. The Who, for me, remains a band of singles and greatest hits albums.
02 August 2011
A Bunch of Trades
This morning, the SPY opened below its 200-day moving average after flirting with it on an intraday basis for the past three sessions. This signalled "Exit" in the MACO component of CS|MACO, and so I closed the long SPY position at the open for a price of 127.80. I changed the entry criteria a few months ago after doing some backtesting, and under the updated rules, CS|MACO would have bought SPY back in September 2010 for around 112. Unfortunately, in real life I can't go back in time, so the SPY position only yielded about $1/share due to its much more recent entry.
The CiG trade has seen me in and out of S&P Futures several times this last month as the stock market went through its daily gyrations. The trades have mostly been profitable, but it has been a challenge to risk-manage the positions when the stock market has opened up and closed lower, or vice-versa. This debt deal nonsense going on, coupled with the worrisome economic numbers coming out lately, has the market on edge. CiG is long S&P and underwater right now, and not far from its stop-loss on the current position. As a counter-trend-fade trade, CiG is always destined to get hurt when the long term trend reverses instead of simply correcting. Times like this one are built into the profit expectation, which makes them easier to take. I am actually using a small number of SPY calls as a proxy for S&P Futures this time around, because CiG called for a long position on Friday amidst swirling rumors about debt ceiling activities over the weekend. Since stop-loss orders don't work on Saturday, I felt something with a defined maximum loss was a good idea. I spent the same in premium as I would have lost with a stopped-out position, which lets me keep the trade on no matter what the market action... in exchange for lower profits, if I ever see any.
Speaking of on-edge markets, I bought some deep out-of-the-money calls on GLD during the height (so far) of the debt ceiling circus. My reasoning was that if the talks really broke down and no deal was formed, then the country's debt rating would be immediately downgraded, the stock market would crash, the economy would head straight into recession again, and the Fed would pledge QE3 to try to policy our way out of this gigantic mess we created for ourselves. Panic + money printing = inflation expectations + falling dollar, and Gold would climb a wall of worry. Having some leverage on the only thing likely to rally in that environment would help control the bleeding in my portfolio. This was (almost) a Black Swan trade, and now that the clowns in Washington are getting back into their tiny car, I'm working to exit the position, starting with getting out of about 25% of the contracts at a 20% profit today. Considering what else would have happened if this position made a lot of money, I'm pretty glad it didn't come to pass. But with lowered profit expectations, I still should be able to deleverage for a nice profit on the trade.
Despite my taking my finger off the big red button, I still don't have high hopes for the economy. I think the stock market is terribly overvalued (when don't I?), and we are so close to slipping into another deep and painful recession right now that I feel like I need to protect myself against a big market sell-off. Back in May I bought some puts on SPY, and then took a lot of heat on them. I was OK with this, as I was more interested in catching a big long-term sell-off throughout the summer than in a small short-term correction in the late spring. We have now closed below the 2011 lows (125.28 on March 16), so the puts are starting to fulfill their roles as portfolio hedges.
In the midst of all the other excitement going on the last month or two, I sort of forgot about the Iron Condor. Luckily for me, I placed some target-profit exiting orders before I forgot about the position. While I ignored the trade the Russell oscillated up and down, taking out my exit orders and then returning to nearly unchanged before I went and looked at it today. So I discovered a half-sized, well-centered, and very profitable Iron Condor position when I finally bothered to look at it. Since it had already depreciated past my target for the trade and most of the way toward maximum return, I went ahead and closed it out the rest of the way, opening an Oct 860/870/690/680 IC while I was at it. This "forget it and get lucky" approach is not a good one, but it happened to work this time.
One trade that didn't work out as I'd hoped was Office Max (OMX), which reported earnings this morning before the stock market open. Historically, the stock has done very poorly on earnings announcements, and they were only expected to break even in the latest quarter. Between that and the general skittishness in the market, I felt puts on Office Max were a low-risk play with a high probability of an overnight profit. This is similar to how I like to play Research in Motion (RIMM) around earnings. Office Max beat expectations with a 7c/share profit, however, and OMX quickly rallied 18% on the open. I took the loss on the puts and moved on.
Quick Position Run-Down
The CiG trade has seen me in and out of S&P Futures several times this last month as the stock market went through its daily gyrations. The trades have mostly been profitable, but it has been a challenge to risk-manage the positions when the stock market has opened up and closed lower, or vice-versa. This debt deal nonsense going on, coupled with the worrisome economic numbers coming out lately, has the market on edge. CiG is long S&P and underwater right now, and not far from its stop-loss on the current position. As a counter-trend-fade trade, CiG is always destined to get hurt when the long term trend reverses instead of simply correcting. Times like this one are built into the profit expectation, which makes them easier to take. I am actually using a small number of SPY calls as a proxy for S&P Futures this time around, because CiG called for a long position on Friday amidst swirling rumors about debt ceiling activities over the weekend. Since stop-loss orders don't work on Saturday, I felt something with a defined maximum loss was a good idea. I spent the same in premium as I would have lost with a stopped-out position, which lets me keep the trade on no matter what the market action... in exchange for lower profits, if I ever see any.
Speaking of on-edge markets, I bought some deep out-of-the-money calls on GLD during the height (so far) of the debt ceiling circus. My reasoning was that if the talks really broke down and no deal was formed, then the country's debt rating would be immediately downgraded, the stock market would crash, the economy would head straight into recession again, and the Fed would pledge QE3 to try to policy our way out of this gigantic mess we created for ourselves. Panic + money printing = inflation expectations + falling dollar, and Gold would climb a wall of worry. Having some leverage on the only thing likely to rally in that environment would help control the bleeding in my portfolio. This was (almost) a Black Swan trade, and now that the clowns in Washington are getting back into their tiny car, I'm working to exit the position, starting with getting out of about 25% of the contracts at a 20% profit today. Considering what else would have happened if this position made a lot of money, I'm pretty glad it didn't come to pass. But with lowered profit expectations, I still should be able to deleverage for a nice profit on the trade.
Despite my taking my finger off the big red button, I still don't have high hopes for the economy. I think the stock market is terribly overvalued (when don't I?), and we are so close to slipping into another deep and painful recession right now that I feel like I need to protect myself against a big market sell-off. Back in May I bought some puts on SPY, and then took a lot of heat on them. I was OK with this, as I was more interested in catching a big long-term sell-off throughout the summer than in a small short-term correction in the late spring. We have now closed below the 2011 lows (125.28 on March 16), so the puts are starting to fulfill their roles as portfolio hedges.
In the midst of all the other excitement going on the last month or two, I sort of forgot about the Iron Condor. Luckily for me, I placed some target-profit exiting orders before I forgot about the position. While I ignored the trade the Russell oscillated up and down, taking out my exit orders and then returning to nearly unchanged before I went and looked at it today. So I discovered a half-sized, well-centered, and very profitable Iron Condor position when I finally bothered to look at it. Since it had already depreciated past my target for the trade and most of the way toward maximum return, I went ahead and closed it out the rest of the way, opening an Oct 860/870/690/680 IC while I was at it. This "forget it and get lucky" approach is not a good one, but it happened to work this time.
One trade that didn't work out as I'd hoped was Office Max (OMX), which reported earnings this morning before the stock market open. Historically, the stock has done very poorly on earnings announcements, and they were only expected to break even in the latest quarter. Between that and the general skittishness in the market, I felt puts on Office Max were a low-risk play with a high probability of an overnight profit. This is similar to how I like to play Research in Motion (RIMM) around earnings. Office Max beat expectations with a 7c/share profit, however, and OMX quickly rallied 18% on the open. I took the loss on the puts and moved on.
Quick Position Run-Down
- I have a Wal-Mart bond as well as a couple of Illinois muni bonds to control my portfolio volatility.
- I have a long position in a commodity ETF (DJP), which is primarily energy, metals, and agriculture - this is a "China needs stuff" long-term investment.
- I still have a sizable position in GLD call options, as well as long-term holdings of GLD and GDX - to take advantage of this record-setting gold bull market and to partially protect against a market apocalypse.
- I have an investment-grade corporate bond ETF (LQD), which is designed to capture the strength of companies relative to people, without being directly correlated to the stock market.
- I have puts on SPY at both the 129 and 126 strike level; not a huge number, but enough to turn my trading screen green on ugly days like today.
- I have recently started accumulating exposure to oil via USO. I've been watching crude-oil futures every day at work for months, and I feel like buying USO on big crude dips is a good idea. I bought my first batch when oil dropped below $95/barrel, and I'll buy some more during the next recession. Maybe a lot more, since this is also a long-term "China needs stuff" investment.
- I have puts on Xilinx (XLNX), and I'm working an order to close the position for a 125% profit. This position has hung around longer than I would have liked, but it is finally starting to work itself out. It started out as an earnings season pessimism trade and turned into a general bearish trending position.
- I am long the Canadian Dollar ETF (FXC), which I bought at par. This is another US Dollar hedge, and I don't have a specific plan for when to close this position.
- I'm still long Microsoft (MSFT) from a long time ago. I keep looking for opportunities to write covered calls or something against this position, but the collectable premium is so bad that I can't justify the risk of losing the stock at ex-div, even though the yield is only 2%. I really need to unload the stock soon, though, as its membership in the DJIA guarantees a rough couple of years when the recession hits. Mental note: get on this one.
- I have a small position in inflation-protected treasury bonds (TIP), as another hedge against inflation getting away from Uncle Ben.
- I also have a small position in Verizon (VZ). I took half of it off a few months ago, and have been working a target exit ever since. Meanwhile, the dividend yield on the stock is 5.5%, which is easy to procrastinate getting rid of.
Subscribe to:
Posts (Atom)










