Saturday, April 17, 2010

Investing in tech!

Ok, so this blog also stems from our discussion in class the other day. Dr. C brought up Intel stock, and discussed their recent earnings. I thought it would be fun to write a blog about the various tech stocks I own and why I have chosen them

MSFT-
That is right, Microsoft. No, I have not made a pact with Satan. Microsoft stock, when I bought it, around 28 points, and now (30 points) is pretty undervalued. It is of course a low risk stock with a beta of .96. I do agree with many critics that Microsoft might have fallen off then innovation edge, but luckily for them, they have money! So, although they do not have the most popular search engine, Bing has chipped away at Google's market share in a significant manner. The X-box 360 is doing quite well and will be a continued source of income as the system's price is lowered, new games continue to be released, and online fees pile in. I am not crazy about everything this company is doing, but it is undervalued and has its hands in all the right places.

ERIC-
Ericsson. Well the main reason I picked up a small portion of this stock is because I will be working for them this Summer. Their earnings came out this pass week and were less than stellar, but not terrible. As I was researching the company for my interview, I was very impressed by the company and their desire to be the leading innovator in the field. I was very impressed to see the amount of patents they held. They have the most in the industry. When I met with the hiring manager, he seemed very excited about the future of the company and they seem to have corrected many of the issues that have faced the company since the recent economic downturn.

VMW-
VM Ware. Let me begin by saying that I LOVE this company. CLOUDS!!! VMW is leading the field in virtualization. As many other companies struggle to keep pace, VMW is miles ahead. Their clients are growing rapidly and each of those clients is continually purchasing more products. I feel bad for those how jumped on board when this stock was hyped to 120 points, but if you were able to get in around the 40 mark, or even now at 57, I would recommend it. Although, their earnings are released in the next few weeks and the estimates are rather high, so I am not sure if it can meet them. Perhaps a short term down turn is approaching, but this is a long term gem. I might sell a bit of mine in the coming weeks to secure some gain, but I plan on owning this stock for many years to come.

Well, best of luck investing and if anyone does happen to drop by, I am always interested in learning about new opportunities.

Friday, April 16, 2010

Siding with Apple?

The other day in class we had a discussion concerning the recent restrictions Apple has placed on iphone app programing. Many students thought it was stupid, or even wrong, that Apple limits or restricts programmers. But I think this is not an appropriate reaction.

Part of a free market, or even the lightly regulated form of capitalism practiced in our country, is the company's right to make these decisions themselves. Programmers are able to profit from Apple's technology. Sure Apple takes a cut, but it is their application market. No one is forced to make applications for their devices. Furthermore, if you are truly that infuriated that Apple has tightens its regulations, go program for some other device.

O, what? That other device does not have the customer base that Apple has? Well, that is simply the price you will initially pay. But, if many of the top programmers abandon the iphone, then the iphone will suffer and eventually another phone will become the top seller. If those who are upset are correct, and Apple is being foolish, then their product and company will suffer. The market will correct itself.

Simply put, all the talk about "monopoly" was pretty silly. Just as Apple has a right to do what they want with their product, so do you. The ability to program on the iphone is not some God given right. You should be happy that they have designed any avenue for you to profit. If you don't like it, go make your own or find another.

All this talk of free markets, leaves me thinking of Ayn Rand, so I'll close with one of her quotes, that is not entirely related, but that is fine.

"So you think that money is the root of all evil?" said Francisco d'Anconia. "Have you ever asked what is the root of money? Money is a tool of exchange, which can't exist unless there are goods produced and men able to produce them. Money is the material shape of the principle that men who wish to deal with one another must deal by trade and give value for value. Money is not the tool of the moochers, who claim your product by tears, or of the looters, who take it from you by force. Money is made possible only by the men who produce. Is this what you consider evil?"

Saturday, April 3, 2010

SQL!

So, this past week I had an interview with Ericsson for a position as a federal engineering co-op. The main requirements other than being able to work in a group and all that normal stuff were c++ and SQL. Well, luckily I have had a pretty good exposure to C++, but I had not experienced and did not know much about SQL. I knew it involved databases, but that was about it. So, in preparation for my interview I decided that it would be beneficial to learn a bit about SQL.

SQL was originally created by IBM (fun fact!).

The most important part of using SQL is the query ability. This is used to get information from a database. You are able to select an entire row or column. You can also use comparative operators to return only elements that are true for that operator.

Sample Code (borrowed from wiki):

SELECT *    //select the columns    
FROM Book   //tells which table is being taken from    
WHERE price > 100.00 //comparative operator     
ORDER BY title;  //sort alphabetically by book title

A few more notes about the above code: The (*) following the select indicates that 
all the columns need to be returned.

A few other neat feature is the ability to join tables.

I am by no means an expert on SQL, but as a whole it seems like something that would be very easy to pick up and could pay dividends on interviews and improve your resume. Also, I'm glad I looked into it because I got the co-op and I am glad I took the time to properly prepare for the interview.




Thursday, March 18, 2010

Cloud Computing!

Cloud computing is another hot topic these days in the computer science world. Many companies such as VM Ware and Microsoft are investing heavily in this field. Cloud computing is an additional layer of abstraction that has many important functions. Many are calling it the next greatest advancement in the field and the phrase, "clouds are everywhere" is appearing all over the internet.

Cloud computing allows companies to purchase their software and information as they do electricity. Many companies, such as amazon, receive heavy traffic during certain times of the year, sales, or perhaps during popular item releases. Under the traditional paradigm, they would have to be prepared to handle this traffic load during all times. This is wasteful and rather expensive. With cloud computing they are able to use less and pay less during these slower times, but still be able to handle the surplus during the other periods.

Hot stock tip alert: BUY VMW (VM Ware) it is skys the limit for cloud computing. Sources report that the market has only begun to grow. Most companies that are currently using these products are only using them for a small portion of their software needs. It is possible for this company and its competitors to increase their income substantially without signing a single additional customer. However, the great thing is that these companies are gaining more clients! This is an exciting field that will surely continue to grow.

Monday, March 1, 2010

Quines!

So, this past week I was reviewing various computer science interview prep pages. Many of them had simple coding or logical questions, as well as various conceptual questions. However, one such site had a section of questions that might be asked, but are simply unfair. This is where I came across the term Quine.

A quine is a program thats only output is its exact source code. As useless as this may seem, several programmers seemed to be almost obsessed with the concept.

If anyone is interested here is a sample Quine from wikipedia. I tested it out myself, and it does in fact work.

/* A simple quine (self-printing program), in standard C. */
/* Note: in designing this quine, we have tried to make the code clear
* and readable, not concise and obscure as many quines are, so that
* the general principle can be made clear at the expense of length.
* In a nutshell: use the same data structure (called "progdata"
* below) to output the program code (which it represents) and its own
* textual representation. */
#include
void quote(const char *s)
/* This function takes a character string s and prints the
* textual representation of s as it might appear formatted
* in C code. */
{
int i;
printf(" \"");
for (i=0; s[i]; ++i) {
/* Certain characters are quoted. */
if (s[i] == '\\')
printf("\\\\");
else if (s[i] == '"')
printf("\\\"");
else if (s[i] == '\n')
printf("\\n");
/* Others are just printed as such. */
else
printf("%c", s[i]);
/* Also insert occasional line breaks. */
if (i % 48 == 47)
printf("\"\n \"");
}
printf("\"");
}
/* What follows is a string representation of the program code,
* from beginning to end (formatted as per the quote() function
* above), except that the string _itself_ is coded as two
* consecutive '@' characters. */
const char progdata[] =
"/* A simple quine (self-printing program), in st"
"andard C. */\n\n/* Note: in designing this quine, "
"we have tried to make the code clear\n * and read"
"able, not concise and obscure as many quines are"
", so that\n * the general principle can be made c"
"lear at the expense of length.\n * In a nutshell:"
" use the same data structure (called \"progdata\"\n"
" * below) to output the program code (which it r"
"epresents) and its own\n * textual representation"
". */\n\n#include \n\nvoid quote(const char "
"*s)\n /* This function takes a character stri"
"ng s and prints the\n * textual representati"
"on of s as it might appear formatted\n * in "
"C code. */\n{\n int i;\n\n printf(\" \\\"\");\n "
" for (i=0; s[i]; ++i) {\n /* Certain cha"
"racters are quoted. */\n if (s[i] == '\\\\')"
"\n printf(\"\\\\\\\\\");\n else if (s["
"i] == '\"')\n printf(\"\\\\\\\"\");\n e"
"lse if (s[i] == '\\n')\n printf(\"\\\\n\");"
"\n /* Others are just printed as such. */\n"
" else\n printf(\"%c\", s[i]);\n "
" /* Also insert occasional line breaks. */\n "
" if (i % 48 == 47)\n printf(\"\\\"\\"
"n \\\"\");\n }\n printf(\"\\\"\");\n}\n\n/* What fo"
"llows is a string representation of the program "
"code,\n * from beginning to end (formatted as per"
" the quote() function\n * above), except that the"
" string _itself_ is coded as two\n * consecutive "
"'@' characters. */\nconst char progdata[] =\n@@;\n\n"
"int main(void)\n /* The program itself... */\n"
"{\n int i;\n\n /* Print the program code, cha"
"racter by character. */\n for (i=0; progdata[i"
"]; ++i) {\n if (progdata[i] == '@' && prog"
"data[i+1] == '@')\n /* We encounter tw"
"o '@' signs, so we must print the quoted\n "
" * form of the program code. */\n {\n "
" quote(progdata); /* Quote all. */\n"
" i++; /* Skip second '"
"@'. */\n } else\n printf(\"%c\", p"
"rogdata[i]); /* Print character. */\n }\n r"
"eturn 0;\n}\n";
int main(void)
/* The program itself... */
{
int i;
/* Print the program code, character by character. */
for (i=0; progdata[i]; ++i) {
if (progdata[i] == '@' && progdata[i+1] == '@')
/* We encounter two '@' signs, so we must print the quoted
* form of the program code. */
{
quote(progdata); /* Quote all. */
i++; /* Skip second '@'. */
} else
printf("%c", progdata[i]); /* Print character. */
}

return 0;
}

Saturday, January 30, 2010

Solid-state drives

Knowing what is the next big advancement in the computer industry has been vitally important to many individuals over the past few decades. Investors had made a fortune scavenging the market for the next up and coming product. Computer geeks scour the web seeking the newest program or upgrade that will set themselves apart from the rest of the computing world. Well, although the next major breakthrough is not much of a secret, it will undoubtedly effect the computer industry.

A solid-state drive (SSD) is a data storage device that utilizes solid-state memory. They use what is called flash memory and are very similar to USB flash drives and various memory cards. What separates these drives from their more common predecessors is the absence of moving parts. This makes them much less fragile, less likely to lose efficiency over time, silent, and most importantly eliminates mechanical delays. These devices also ensure a much quicker start up, because unlike traditional hard drives, which require a spinning up period, the SSD is ready to go!

Although this new advance is highly advantageous and is almost certainly the next significant hardware advancement in the computer industry, they are still rather expensive and are often not commercially available in the sizes required to run entire computers. However, in the past two years many companies, including Dell, Apple, and Asus, have began offering SSD upgrades. Intel is currently making their own SSD chipset and is regarded as the leader in the industry. It will not be long before these little wonders will be standard in most computers, and I for one plan to upgrade my lab-top with one as soon as possible.