Saturday, December 4, 2010

Google Dodged a Bullet

It was reported late Friday that Groupon had rejected Google's acquisition bid of $6 billion. When I first heard word of the possible take over, I thought it was a fantastic idea! However, a lot of talking heads felt that Google was overpaying significantly for this company, largely due to the high demand for a company like Groupon and the low supply of them (though that could be changing fast).

I still thought it was a fantastic idea for Google as they would be entering a market (the local market) that is otherwise too expensive to enter for such a large, global corporation. Two things changed my mind. First, I often listen to This Week in Google netcast, where Jeff Jarvis is a regular. I find that I largely agree with Jarvis' opinions, so when he was so emphatically against the move, saying it would be "Google's Myspace", implying it would be a large financial sink hole, I started to think twice. The real kicker for me was my own bit of research. I quickly signed up for Groupon on hearing the news so that I could form an opinion and was not impressed at all.

The three deals I have received so far: Circus Arts Workshop, The Bistro at Our Town, and Spa Services. The only one I would consider was the Bistro and the others I am SO not interested in that I would consider them spam. For comparison's sake, I have been subscribed to a Groupon competitor, LivingSocial, for close to a month. In that time, I see that close to one third of the deals are for spas? The rest are for random activities (history tour, skydiving, holiday decorations, etc) and only two of them were for food, Mexican and Indian. Sorry still not that interested. This told me that there isn't really a problem with Groupon, but with the current model of these "social coupons".

As much as I hate to say it I actually think Facebook's Deals is a much better model. Its been out for a month and I haven't been bothered by it once, because I would only check in to places that I cared about getting a deal for. I was initially worried about Deals becoming spam-like, meanwhile, I've only had Groupon for three days and I feel like it's spam. Unsubscribe.

Of course this is all anecdotal and their rumored numbers are phenomenal (though they were hard to pin down, ranging from $2 billion in annual revenue from CNET to $500 million by many early on, including CNBC). Regardless they are quite successful! But I don't think the growth is sustainable, how many spa treatments can you get? (By the way, what does it say about spas' pricing model when they are willing and able to offer half price every other day?) I suppose we will find out, I'm just glad Google doesn't have to pay $6 billion to do so.

Friday, December 3, 2010

A New Age: Death of the 9 to 5

I had initially planned to write out one article describing my stance on where I believe technology and the rest of the world is heading. I then realized that would be a long and rambling article. So for everyone's benefit, I will break them down into bite sized entries, later to be compiled into one coherent article (or essay).

(A New Age: 2)

Growing up, it seemed a steady, good paying, 9 to 5 job was the definition of success. Entering the workforce in my twenties, a steady, good paying, 9 to 5 job seems like a terrible idea, if you can even find one. The term 9 to 5 is simply my way of describing an everyday job, perhaps with cubicles or angry patrons. This should cover almost all of you, and yes your job is going away.

Take a look at the unemployment rate. It's at 9.8% as of December 3, 2010. To put this in perspective, the most recent high was 8.2% in February 1992 (according to Google Public Data), the next spike was to 6.5% in January 2003, and it peaked at 10.6% in January 2010. (Notice a pattern in the months there?) As you may have heard in the news, the unemployment rate has been pesky, and just jumped 0.2% today (December 3, 2010). One reason for this is the huge extinction of jobs in the housing industry, from construction to sales. However, I think many more jobs have simply gone extinct, largely due to technology. The automation of manufacturing plants, the widespread use of the digital format, and, dare I say, robots, have simply made some jobs not necessary. In addition to this, technology appears to be advancing at an accelerating pace and will most likely displace more and more jobs.

Of course this will be partly balanced by a gain in jobs in this growing technology sector, but who will get them? I never want to undervalue lifetime experience, but frankly if I am hiring someone right now they need to be tech savvy. Business is largely measured by growth, I feel very confident in saying that without embracing technology, you will not have growth. The generation just entering the workforce has grown up using computers, the next generation will have been raised by people who grew up with computers, and so on. Again you can see how technology will begin to snowball and soon, computer literacy will be measured instead of actual literacy (for better or worse).

But here you are, on the "interwebs", reading a blog, you're obviously tech savvy so why is your 9 to 5 dying? This is due to a much larger shift in society as a whole. This is a point that I have a hard time nailing down, but observation alone shows me that the individual is rising faster than the corporation. That is not to say that the sum of "individual workers" is anywhere near the size of the corporation, just that it is growing faster. I have a personal phrase, "collaboration over corporation". Collaborative efforts, thinking open source development, is much more agile and keeps people much more motivated due to personal interest in the work. I want to be clear that I am not talking strictly about technology here. Collaborative efforts can accomplish amazing things, take a look at local charities. To put it bluntly, in collaborative efforts, the whole is greater than the sum of its parts, and in corporations, the opposite is often true. 

My Prediction: You may still do the same work, but I don't think you will be going to same place, or earning the same amount, or working with the same people day in and day out. The shift to technological jobs will increase the number of people who can work from a distance. Those jobs that can never be worked from a distance will soon become everyone's job. As jobs become more fluid, there will be a constant need for supplemental income. I imagine this supplemental income will come from these immobile jobs. The rest of the time our days will be filled with doing what we love, with the people we choose.

Friday, November 26, 2010

A New Age: Access to Information

(A New Age: 1)

I certainly plan to elaborate on this, but I was looking at my browser with 8 tabs open, 10 extensions installed, and about 10 bookmarks available (not counting the folders of links) and realized I have more information available to me in one click (and I'm working on that) than most of the past generations combined.

This is truly a unique time to be alive! The more information available to internet users and the more internet users there are will mean the bigger jumps in technological advancement.

Wednesday, November 17, 2010

A Shift in the Markets?

So I have previously been quite bullish on the market for 2011. Things may be changing on me though. I never want to be too quick to jump ship and claim the sky is falling, especially after feeling so confident that the opposite was true no more than a few weeks ago.

First let me say that this could very well be profit taking in action, and rightfully so. As long as the major indices remain above their lows in August, we will bounce back. For the Dow that is at 10,000, however, this week the Dow is trading very slightly above the 11,000 mark and if it drops significantly below this mark (closed 11/17/10 at 11,007.88) I think 10,000 is not out of the question. But this is purely technical, what is really driving my decision?
  • Eurozone uncertainty - Here is a great article from Bloomberg summarizing most of the confusion going on right now. But of particular concern to me is Ireland and Greece. Ireland's debt problems have been widely publicized this week. There are some murmurs of Ireland becoming slightly more open to a bailout, though theses don't hold much water. Plus it is not that this is fantastic news, but the markets always prefer bad news to uncertainty. What is more troubling to me is Greece! In short Greece is in the process of getting bailed out right now. The next payout is due in January (or is it December?) and the Austrian PM is threatening to withhold his countries' portion. He later toned down his comments, but the socialists sweeping the local elections may not be the best sign of "austerity" measures going into place (and yes, I am rather fond of Socialism still, but I am also fond of facing the current reality). If either or both of these countries turn into bigger problems than they already are, there will be at the very least some dent to global markets.
  • Chinese inflation - So inflation in China for the year has been quite significant, particularly in food prices. I have heard from that article and elsewhere that China would most likely make a move around the 20th, with Friday the 19th being a possible target. For those unaware (really??) China is "communist" to some extent and so exercise total control over the markets (directly opposed to free markets). I consider this an interesting experiment in the effects of controlled markets, as the Chinese may move to limit prices on commodities and government subsidies and disbursement. Regardless, all of this talk is causing a big hit on commodities with cotton taking it the hardest, but oil's price having a broader effect [UPDATE: Oil is up slightly after inventory news today]. If China makes these moves, it could have far reaching global impacts due to commodity prices as well as import/exports.
  • US Debt - This may be more of a bearish concern than a realistic concern, but it still strikes me as worth mentioning. I read a recent article talking about a Crash of 2011. At first I merely brushed this off as bearish talk, but that was before my sudden change in attitude. After thinking back to it this week, I decided to do some digging. In that article he plays out a scenario in which the national debt ceiling doesn't get raised (which we will need sometime in 2011) and the US defaults or is late on its bonds interest payment. This would most certainly result in the US losing its AAA bond rating. Which sounds bad, like REALLY bad, so I did a little more digging and found that Moody's has threatened to downgrade their US Bond rating no later than February of 2010. This in addition to them upgrading China's rating and downgrading San Francisco bonds and Philadelphia bonds just today. Do these ratings really mean anything? Maybe not in fact books, but they mean something in the heads of the people who make trading decisions every day. If the US bond rating gets downgraded by one or more agencies, we could see a huge scare out of the market. Less traders, bigger losses.
  • Tech sector - This one may be more important to me than other investors, but I feel it is still important to mention. As you may or may not have heard, Cisco (CSCO) came out with stellar Q1 2011 earnings but revised Q2 2011 and overall 2011 guidance down causing, not just the stock to drop, but the entire tech sector! Now, I don't have a hand in Cisco thank god, but I do in Akami (AKAM), Google (GOOG), and Intel (INTC). Akami and Google took significant hits, while Intel actually gained due to a nice dividend raise (thank you Intel!). Then today had the NetApp debacle has the tech sector looking even lower. One good thing from all this is that the issues are largely caused by growing price competition, which means it may be time to look for some growth tech stocks. If the tech sector is indeed entering a down cycle into the holidays, it will drag the entire holiday retail sector down, something my entire "booming 2011" projection was based on.
There are four ifs, some more probable than others and some having a larger effect than others. I think it is safe to say that if all four scenarios were to take the worst-case, we would face a very serious threat to the recovery. And if all four scenarios were to take the best-case, we could be flying high! Of course it will be somewhere in between, but it will either have a negative lean, neutral, or positive lean when all is said and done. 

So when is "all said and done"? Be darned if I know, or anyone for that matter, but I have to make at least a rough estimate for adjusting my strategies appropriately. So I will say sometime during the week of November 29 we will have a much better idea of what to expect for 2011. The Ireland issues should have a plan in place by this time, a decision on Greece's payout will come sometime in December but we should get some clues by this point, China should have made a decision on inflation, and a few more tech earnings releases may go one way or another. The US debt issues, however, will still be debatable, but a tax extension decision could be made and possible spending cuts could come out.

I am not ready to turn yet, though I am laying out some possible plans in case things go south and I will stick (mostly) to my current plan (high dividend, blue chips (75%) mixed with speculatives (25%)) if things stay the course. I think it is wise to keep up with global market news, especially in today's world.

Current Holdings:
Symbol (# of shares/contracts)
Stocks - AKS (1.19), BP (1.34), C (35.74), DB (0.64), F (17.71), GE (20.02), GOOG (0.57), GRO (14.99), IDT (2.30), INTC (9.81), KFT (6.11), KRY (15.05), M (12.16), MRO (2.68), OCZ (25.61), T (7.57), USAT (152.67), WEN (9.20)

Options - AKAM (1), AKS (1), DEER (1)
I am currently working on the best way to display my portfolio in all its glorious details, stay tuned!

*Note that these are all purely opinions of a very amature investor . In no way do I endorse or work for any of the mentioned companies. I own shares of Akami (AKAM), Google (GOOG), and Intel (INTC).

Sunday, November 14, 2010

Experiments in HTML5: canvas 2

So after knocking out a quick example yesterday of an HTML5 canvas app, I ended up making pong. This is the typical "hello world" game to make, and I've done them before so I was familiar with the already pretty simple logic.

Here is the high level breakdown:

  • has two "classes", paddleObj and ballObj
  • there are two instances of the paddleObj, one for each side
  • the objects will keep track of the location and has helper functions clear, draw
  • the ballObj acts much like a controller, in that is can reset the board, performs collision detection and all the logic involved, and maintains its own automatic movements with a move function
  • the move function drives the game, it is set on interval of 100ms
  • has a toggleGame function to start and stop the interval when needed
  • use a direction variable as negative or positive and a change variable for each axis (x and y)
  • reverse appropriate direction on collision, increase change variables on paddle collision
  • if ball is past either paddle, reset board, increase score, toggleGame to pause
  • W, S control player 1 (left) and up, down control player2 (right), click or space control toggleGame
There isn't too much to a pong game. Regardless of the language, the "objects" will remain the same, the rules are the same, etc. Some helper notes: 
  • store x,y,width and height for sprites
  • make (x+width) and (y+height) your best friends
  • you need an "engine" to drive motion
  • remember to check the y's on the paddle for collision detection
Some of the more customizable things I have found:
  • How to handle paddle bounce backs (include paddle momentum, increase speed each time?)
  • How fast should everything move?
  • How to track score and what is a winning score?
  • Graphics, incentives, etc
Unfortunately, I only have weekends to really work on these projects, so it was more important for me to get something up and working than to make it polished. I hate to pass out my "work" when it is hardly ideal, but then again when is a program ever really "ideal" and I am still learning this stuff. So keep in mind that this is not optimized, fully debugged, browser tested, source cleaned up, fully commented, etc, but it DOES WORK! (in all non-IE browsers, except maybe 9) 

Have a look at the source code here.
And the demo here.

I also thought it was pretty funny that I used plain old javascript (POJS) for the entire game, but used jquery for the show/hide form. I gotta get that out of there haha.

I am also working on an iPhone version that was pretty much complete, but doesn't seem to like running on the server like it did running locally. If anyone has any iPhone dev experience and knows what I'm missing (for example evt.preventDefault() doesn't work), I'm initially guessing its a cross-script thing? But I am also having an issue with the graphics not getting cleared entirely, leaving a "frame-trail", like the outline of the object being left behind where it moves.

Hope you like and come on people leave me some comments, I'm dying for feedback here!

Saturday, November 13, 2010

Experiments in HTML5: canvas

With HTML5 quickly becoming all the rage, and rightfully so, I think it was very important to learn what seems to be one of the more groundbreaking innovations, the canvas.

I started by searching through my Google Reader (RSS reader which I've become a fan of) since I know I had starred a few articles on HTML5 and the canvas element in particular. Here is what I came up with, sixrevisions.comAWESOME examples from tutsplus.combouncing ball from, again, I'm sold, this stuff is WAY too call to ignore!

After a quck 5 minute browsing of some tutorials and samples, it seems pretty similar in use to a typical graphics api. I've had some minor exposure to these in the form of OpenGL, DirectX, and XNA, but it was very limited and I quickly lost interest as it was dealing with what I consider the dying native app. I still have the desire to make a game and perhaps now I have the technology to reach the audience and potential I was looking for.

Here is the recommended canvas template:

<script type="text/javascript">
// When the window has loaded, DOM is ready. Run the draw() function.
window.onload = draw;   

function draw(){
  var canvas = document.getElementById('myCanvas');
  if (canvas.getContext){
    var context = canvas.getContext('2d');
    // Put canvas drawing stuff here, e.g. context.fillStyle
    // Put code to execute if browser doesn't have canvas support here

<style type="text/css">
  canvas { border: 1px solid black; }</style>
  <canvas id="myCanvas" width="200" height="200"></canvas>

Since I already have a page set up, I'm just taking the necessary pieces and placing them where they belong according to this template. I started with a 500 x 500 canvas, this is rather arbitrary, but I have found the most limiting size on regular web pages is facebook profiles at 520px. I styled the canvas to be center aligned by display: block, margin: 0px auto, and border so I know where it is! I put the javascript on the html page, but will remove this once initial development is done.

Ok not too bad to get set up. Now lets get to the fun stuff! I used a great tutorial from Mozilla to get these intial startups going.

The first set of instructions are about drawing shapes, pretty simple stuff really. The only pre-defined shape is a rectangle, but there are several "path" functions. These are similar to drawing freehand. You can draw lines, arcs, and curves using a typical coordinate system in which (0,0) is the top left of the canvas and (width, height) is the bottom right of the canvas. All of this is unfortunately familiar to me. I only say unfortunately because drawing with geometry can be a painful experience at times. First successful canvas javascript api will make someone really rich and/or really famous for shaping internet gaming forever (hint, hint).

The images section reads much like a chapter on sprites in my opinion. I barely read this section since the methods are rather self explanatory. Something that is very important to note on this page though is how images are "loaded". You can use any image already on the page or within the canvas by selecting it by id or tag name, or you can also use document.images, though I personally am unfamiliar with this method. But it seems the preferred method in this tutorial is to load the image using a javascript Image object:

var img = new Image();   // Create new Image object  
img.src = 'myImage.png'; // Set source path  

You can then position, scale, and crop this image and draw it to the canvas with drawImage functions. The rest of the article is still very good, but I ran out of patience and wanted "something". I was somewhat familiar with the remaining topics, and since they are somewhat "heady" I didn't feel like absorbing all that knowledge (probably again) right now. If all of this sounds crazy to you, take it slower, and experiment a lot as the gap between code and visuals is too big to bridge just in your head. So I figured I'll make a small canvas with a "sprite" of some kind, or perhaps a drawn image, that will move around according to key presses. Lets start.

First things first, I am using this as my groundwork.

Nice work by this guy and just wanted to give credit even though I plan on doing some things a little differently. Lets get our shape on there, for simplicity I'm going to create a small 20x20 gray square in a paint tool and draw it to the canvas in the top left:

var img = new Image();
 // When the window has loaded, DOM is ready. Run the init() function.
 window.onload = init;

 function init() { 
  ctx = document.getElementById("mycanvas").getContext("2d");
  img.src = "/images/dev/gray_box.png";
  img.onload = function() {

Now lets add some logic to make it move on a key press:

function keyDown(evt) {
 // so a key was pressed, only react to the keys below
 // left = 37, up = 38, right = 39, down = 40
 // movement workflow: get key, check if at edge, if not move, 
 // if moved off edge then set it to edge, draw at new location
 // if you drew a new square then prevent default key action
 if(evt.keyCode == 37) {
  if(imgObj.x > 0) {
   imgObj.x -= 20;
   if(imgObj.x<0) { imgObj.x=0; } 
 if(evt.keyCode == 39) {
  if(imgObj.x + imgObj.w < 500) {
   imgObj.x += 20;
   if(imgObj.x + imgObj.w > 500) {imgObj.x=500-imgObj.w; }

 if(evt.keyCode == 38) {
  if(imgObj.y > 0) {
   imgObj.y -= 20;
   if(imgObj.y<0) { imgObj.y = 0; }
 if(evt.keyCode == 40) {
  if(imgObj.y + imgObj.h < 500) {
   imgObj.y += 20;
   if(imgObj.y + imgObj.h > 500){imgObj.y = 500 - imgObj.h; }
 return false;

I tried to document the process as concisely as possible. And finally our new draw function:

function draw(){
 // we get the context again (needs efficiency improvement for that)
 var ctx = document.getElementById("mycanvas").getContext("2d");
 // clear the entire canvas, should have a built in function like ctx.clear();
 // save context (not needed here but a best practice for future);
 // draw square in new location
 // restore the context (again not needed but a best practice)

Here you can find the complete javascript file.
And a working demo.

This was all done in an hour or two (including the initial research). This is proof that this is a great entry way for web developers to get a taste of game development without such a steep learning curve. A lot of this code isn't anywhere near optimized and was simply more to get a working example and get my feet wet.

I plan to clean this code up, comment more fully, then add functionality, and finally some polish. Hopefully by the end I'll have a fully functional, yet rudimentary html5 canvas game!

UPDATE: Check out the same demo page above for a version of pong.

Friday, November 12, 2010

Quick thoughts

Every week I listen to a google focused podcast and a "neutral" though more apple leaning podcast (at least that is the impression I get from the host). And one thing that I have noticed with the hosts and guests of both shows are that the google folks are usually much more rounded in their technology knowledge. This isn't really a shocker, but I think it's interesting to note as I closely follow google v apple.

So I wanted to use javascript in a cool way, well this guy puts it to shame in some early demos. Yes, its a gameboy emulator taking shape in javascript. It's up on github for anyone who fancies (under MIT and Apache too, ya know so that it has a real chance to grow). This whole thing tells me to scrap the css and jump into the canvas.

The markets were down for the week. No real shocker as it was time to take some profits and everyone had to come down off that caffeine high of last week. Now we have to deal with Chinese currency issues and their effect on commodity prices. And next week should be quite active for US markets at least. Lots of earnings reports and GM IPO. Should be interesting, but I'm thinking it'll be another up week! Here is a better preview of the week to come.

Just installed some chrome extensions for fun: Yoono a social networking "mashup", MeasureIt a quick tool to measure the screen in pixels, and Xmarks a bookmark synchronizer (passwords too if you wish).

Happy weekend, enjoy!

Saturday, November 6, 2010

The Week Went Perfect

It's really amazing to me how much can totally change in the markets over just a week. All three major indices are set to hit 2-year highs next week. QE2 is locked in at a point very slightly above the lower expectations of $500 billion. Jobs numbers were surprisingly good for the previous month. We have a republican house and democratic senate, and Obama appears to be making a concentrated effort to spark the economy and the markets in particular.

Here are some articles that summarize all this data:
Stocks Finished Week At 2-Year High On QE2 And Jobs
Treasuries Drop, Stocks Fluctuate as Jobs Growth Tops Estimates

And of course the bears want their say too:
Analysis: Fed's QE2 raises alarm of commodity bubble
QE2: $600 Billion Fed Move Targets New Jobs, But Risks Inflation

I am very much bullish on this market, especially after Friday. I felt if the market had gone up big again on Friday, the drop on Monday could have a longer lasting price effect than needed. If the market had gone down and erased some or even all of Thursday's gain, I would be afraid of the negative sentiment it would leave over the weekend. Luckily, in my opinion, the market stayed essentially flat all day. To me this signifies that the market has now moved into a new range.

Of course there will be some profit taking in the next week or two that will pull the markets down from those 2-year highs, but only briefly. I expect the rest of November to be a great buying oppportunity and by the end of the month I expect to be breaking through some of those multi-year highs. In other words, if you wanted a time to get into the market, I think watching for some profit taking in any stocks you are interested in will be the best price opportunity you will get for the next year or two, possibly more.

Something that has me very excited about the future of the economy is Obama's apparent new attitude. Coming out after the elections and saying the things he needed to say was a great sign. Now Obama is touring Asia on what he has said will be a markedly domestic trip, primarily about the US economy. And this announcement today out of India may be some of the biggest news of the week, though we may not see its full impact for a year or more. For those of you in Boeing (BA) or GE, (I own some GE), kudos!! This is nothing but good news for the two companies, though you may not see any immediate effects, the long term impacts could be huge.

I can barely wait for the next few weeks, to establish some more solid positions! Here are my anticipated moves for the week:
Citigroup (C) - $50
Kraft (KFT) - $70
Marathon Oil (MRO) - $50
AT&T (T) - $30

I use Sharebuilder because of my low liquidity and they allow you to purchase fractional shares on a weekly, non-commissioned trade. I don't normally put in this much in one week, but I have to put my money where my mouth is these next two weeks!

*Note that these are all purely opinions of a very amature investor. In no way do I endorse or work for any of the mentioned companies. I do hold positions in GE, C, KFT, and T already and will be establishing a position in MRO this week.

Friday, November 5, 2010

Forget Fuck Censorship

So for starters this is the song that brought this to mind for me:
Cee Lo Green - Forget You
Radio Version
Real Version

Now I think most people can relate to some extent to the lyrics and, if anything, it's a topic that carries a lot of emotions. So to me, censoring the song has drastically reduced its effectiveness on the audience.

This is of course just one song (and a currently popular one, I'm too cool to like pop music, ha). But one of my favorite examples from the past is Radiohead - Creep. The censored version to me is just a song, the real version is much closer if not entirely in the deepest realms of art.

And let's extend it even further. I've only covered censoring cursing, what about the rest? Well, I still feel the same there too. I think when a good piece of work is put out with what some consider inappropriate material and that material gets censored, the piece of work is no longer in existence and simply a dumbed down replica.

Of course there is the other side of it that involves rampant totally valueless cursing. This is where subjectivity gets in the way and case by case basis is not acceptable. So really it has to be all or nothing in my opinion, and in case you haven't guessed, I vote for absolutely no censorship. Someone said something that offends you? Grow up and take it for what it's worth (or go beat them up). You want to shelter your kids? Well first of all, have you ever gone to public schools? Or browsed the internet for more than 10 minutes? The fact of the matter is, sheltering your kids from obscenities, etc simply glorifies them and also means that you won't have any control over how they are eventually exposed to it.

Finally, this is one of the many reasons I love the very ideology of the internet: it's all there, all the time, its just up to you to find and view it. If I want to hear my uncensored music, I do it. If I want to look at lewd pictures, so be it.

This whole post may seem trivial to you, but keep in mind that censorship is a notoriously slippery slope. Today it's the F word, tomorrow it's joking about bombing an airport, oh wait I forgot jokes aren't funny anymore. This whole FBI etc spending a bunch of money to track down, arrest, and charge someone for joking about bombing an airport is a VERY SLIPPERY SLOPE!!! In fact the whole "war on terror" is, in my opinion, a simple way to get praised for extremely limiting your citizen's rights. But that is a whole other can of worms!

Thursday, November 4, 2010

What a Day on the Market

With the elections behind us and QE2 locked in, the markets soaked it up today!

All three major indices hit their yearly highs and five stocks went up for every one that went down on the NYSE on good volume. I personally did pretty well today, up 2.48% in stocks and roughly 14% in options. Macys (M) and Ford (F) were my big winners in the stocks, but Akami (AKAM) was my largest relative gainer at roughly 11%!

I love these numbers on the options, I love them so much I'm looking to ring the register soon. I will definitely be looking to dump DEER next week assuming earnings do what I hope (fingers crossed), though if I see a significant enough rise before Wednesday's earnings I will certainly still take the money and run. Akami, however, I am looking at some pricing action to see a good time to get. It may be soon though.

With the biggest news behind us, I'm anxious to see what happens tomorrow. Continue the climb?? Catch its breath?? Buyers remorse??

Wednesday, November 3, 2010


Ok so this already has rant written all over it right? And if you've worked with me over the past few days, you probably know most of what I'm about to say. But I need to air it out more and maybe get some other opinions on the issue.

For starters lets talk about facebook's "non-event" today. So you are planning to integrate more tightly with mobile devices? Thanks for the incite you progressive minded "genius". I would like to announce that I plan to eat food over the coming months. I do agree though that the iPad is not a mobile platform and I loved Zuck's apparent delivery of the line, "It's a computer. Sorry". Does someone have a favorite mobile OS? Maybe Zuck and I could get along after all ha!

I got most of my information from Engadget's coverage and general google searches. For a real analysis of the event I'd recommend you do the same because I definitely won't do it justice.

Overall its a reasonable roadmap for facebook that was laid out today. In my opinion there really wasn't anything worthy of an event announced today. Though this excellent write up says otherwise. In short, iPhone gets updated app with Groups, Deals, and enhanced Places. Android get additions as well. Deals sounds a little too "market-y" for my liking. And maybe its just me, but I really am not comfortable with telling the world where I am all the time? It's all a little big brother-like to me.

Now you'll see that throughout the event (and the above blog) how much they plug how much the developers "love" it and how its so "easy" to use. I'd also like to point out that they had an Android and an iPhone crash during the demo. And we reach the ranting:

Now I don't claim to be a programming god (still just working on guru status) but I have picked up a few programming languages, APIs, frameworks, CMSs, etc, over the past few years. And of course there were bumps in the road, but overall the experience was progressive and mostly painless. I have been using (attempting to) the facebook apis for the past two weeks and its been painful.

I want to be the first to admit that I am not the most adept facebook user in the world (where the hell is logout you sneaky bastards!) but the whole concept of pages, tabs, and applications makes my eyes glaze over. Yes, there are times when the distinction is clear as day. But other times applications are on tabs on a page. And other times an application isn't a page at all ( domain). Oh and applications actually have pages of their own, but the page doesn't actually have the application on it. Or wait are those pages or profiles, because you know they are different.

This instantly puts me at a disadvantage, and I would normally take the blame for this, but give a read through their documentation sometime. Essentially every api page starts with: "Use this new api rather than this old api. Oh, unless you're on a page then you have to use the old api. But keep in mind that we're retiring this api in the next month." Holy crap! Think I'm exagerating? Directly from their documentation:
Note: We do not recommend FBML for new developers. If you aren't already using FBML, you should instead implement your application within an iframe, using the JavaScript SDK and social plugins for client-side integration with Facebook services. The one exception: if you absolutely must create an application that appears as a tab on a Facebook Page, you will need to use FBML for now; tabs do not currently support iframes directly. We will be transitioning tabs to iframes later this year -- please see the developer roadmap for more details.
Now can I start to put some of the blame on them instead of myself? Perhaps the most telling thing is that in 50% of the examples they give you, a direct copy and paste will not run. Ok, so the documentation sucks, not like their the first ones to suffer from that. This admission gives me hope, and there have been several updates on the facebook developer blog as well.

I won't be all negative though. Their PHP SDK worked pretty well, though I had a bit of a hiccup with hosting using PHP 5.1 and the SDK requiring JSON (I put most of the blame on hosting for that). And it was a bit tough to get a work around in CodeIgniter, again not really a facebook issue. In their defense it seems they are in transition right now and will perhaps come out much cleaner in 2011, but until then I'm not a big fan.

The main culprit for all of this is the god forsaken FBML and FBJS. These are essentially languages that take their normal counter parts (HTML and Javascript), strip most of their usefulness, then add a bunch of custom tags that are completely uncustomizable and have no significant tutorials. In addition to this the whole "view source" trick to get ideas doesn't work because of their bloated markup.

There, I'm done. I'm sure in a few days I will have that "a ha!" moment and zip through it (fingers crossed) but until then, wtf facebook?

UPDATE: I was finally able to accomplish my task, AJAX and all. I wasn't able to bind events the way I would have liked, but I guess that cake wasn't for eating. But a HUGE thanks goes out to these guys and their blog article. All the examples worked and he responded to his comments, what a novel idea!! I will follow up with more details for any who are interested.

Tuesday, November 2, 2010

Big Week for Financial News

So this week will have some big impact on United States and world economies. With elections today, the Fed talking QE tomorrow and the Bank of Japan, European Central Bank, and Bank of England's policy committee all concluding meetings at some point this week, we could be facing a rather large fundamental shift in the world economies. Of course currencies have been impacting the markets quite a bit lately, and most if not all of these meetings will relate directly to currency valuation. All of this is coming just a couple of weeks after the G20 leaders agreed to not devalue their currency intentionally, well three of the biggest players will be doing exactly that this week. We will have to wait and see the impact this will have on world politics as well as economy. However, the impact of this on the economy may not be as drastic as you might expect, as the market has had a little time to factor all of this in to some extent. This applies to policy and elections, but lets not forget that the outcome of both of these are still unknown and the expectations may or may not be accurate. I personally am ready for a slightly more volatile week than normal, though I don't see any immediate market changers coming from this.

Current Positions:
Overall, I still feel very bullish on my larger holdings. I am particularly interested in the prospects of Kraft (KFT), Macys (M), and Ford (F). I really like all of their long term potentials, though I expect Macys to be the first of the three to start feeling a pullback. I feel very confident (as many other analysts) that Ford will be trading in a higher range in 2011 and really want to build up my position as well as a possible option for Mid 2011.

I am making a more short-term play on Intel (INTC) this week. I feel it is trading at a great value at this point and hope to get a decent holding (relative to my very small available funds) established in the $20 - 22 range. I would put a price target of about $26 by late 2011. The reason for my short term interest in Intel is the fact that they will be in all the new Macs, which is coming out with a new operating system Summer 2011 which could increase hardware purchases as well. This is a relatively new, and growing, market for Intel that hasn't been factored into their price in the past. In addition to this, businesses in the US are sitting on very large amounts of capital and I think IT spending would be a great place for some companies to spend this money.

In small caps, I am still happy with my USAT trade, though it seems to have settled into the $1.25 to $1.50 range for now. I am very happy and still willing to buy up more of OCZ as I have a strong bullish sentiment to the solid state drive industry and having recently been in the market for one, I feel OCZ is the best quality to price in the industry. And finally it appears I missed the best buying opportunity on KSP as they came out with earnings yesterday and rose 25%.

My options are still up, though less than a week ago. AKAM is still my largest bet at this point. Yesterday it took a hit for what appeared to be profit taking. My option is for January 2011, so I will be holding onto this option until I get a more favorable return. DEER is still solidly up and appears to be locked into a new range for the time being. I am undecided on what move to make here, but I must move DEER or AKAM to get back some capital. And finally AKS is still down significantly. A break even at this point would be a best case scenario and still seems possible.

Future Moves:
As I mentioned above, I am interested in an option on Ford, though I am not sure I will get the return I want yet so I am holding out for a possible lower price point. As far as options are concerned I will be waiting at the very least until next week, but also will need to decide to move DEER and/or AKAM before I will have the funds to make another options move. For my long positions, I am in the market for an energy company and some early leaders on my board are Total (TOT) and Exxon (XOM). I will certainly be looking for a high yielder in this sector and I am unsure if now is the time to get into oil as green energy seems to be gaining some momentum finally. In light of that I will also consider a solar company.

Final Notes:
In short I don't think the market will make any very large moves this week, but I think the potential for a large, unpredictable shift is large enough for me to stay on the sidelines this week. All of this news will have a larger impact on the long term than the short term and so I am waiting out this week to get the information I need and try to draw what conclusions I can from there. And finally, I am still very much torn over China. I feel the market has a huge upside that I would hate to miss, but the unpredictable nature of their government, economy, and political agendas leaves you open to a blind side at any point. For now I am just feeling out the water, but the more time I'm out, the more upside I am missing.

*Note that these are all purely opinions of a very amature investor. In no way do I endorse or work for any of the mentioned companies. I do hold positions in all of the mentioned stocks except KSP, TOT, and XOM.

Saturday, October 30, 2010

Why a new UI?

When using my computer, if it requires more than one or two clicks to get what I want, I get frustrated. So my overall goal for my "newi" project (name still in development ha) is to put all of your files/applications/web pages just one click away (or if absolutely necessary two clicks). Of course you could do this right now by moving all of your applications to your desktop, but lets be real no one wants to do that. And in comes my idea for the first cycle of newi.

Without going into too many details, I was picturing a typical "windowed" browsing system but removing the need to click to open a new folder and click to go back a folder. I felt that a user's mouse movement should be enough to tell you what or where they are actually interested in going. By emphasizing this area, the user will be informed of what the newi intends to do. At this point the user can continue the movement to execute or continue the action, or change the movement to suggest a new action.

The action will vary from object to object (and should be customizable by file type). For example, by hovering over a folder it will zoom the folder and expose the folders/files inside. To move back they would move to a small frame that will remain visible. By hovering over an application for x amount of time the application would launch (file browsing within the application would work the same). And by hovering over a file (text document for example) it would launch the appropriate application and open the document.

So this all sounds great, but there are plenty of concerns. Could this create a "too instant" experience? Would users be in and out of folders multiple times because of newi jumping the gun? Of course it would require a lot of tweaking of the sensitivity, but there is bound to be a limit to that.

With my very initial prototypes (and I mean very initial) I already discovered that the operations will be quite math intensive. I didn't experience any issues in Javascript, though I was running Chrome the supposed king of Javascript, though it was with only one window. I imagine multiplying this by at least dozens would have an impact on performance. I also think a compiled application will give better performance.

I'd love to hear any thoughts or suggestions. And check up on my progress here: 2bdev. Time to try out some psuedo-object oriented Javascript!

Monday, October 4, 2010

This is my first post

I am just trying to publish a blog to my website.