I think I have fallen into the habit of telling huge companies who don’t listen to me what they should do. I do this with an outside perspective and relatively knowledge of the industries that they inhabit. What company am I opining on today? Well, I cannot believe I haven’t done this sooner, but the company is Microsoft.
I have seen Microsoft floundering around marketing-wise since the Windows Vista launch. Vista was so poorly received and had enough significant issues. Since then, it has been fighting an uphill battle to position itself as a lean, mean competitor. This, in my opinion, proves difficult when your company is all over the place. Microsoft has its hands in everything. They have an operating system, a game console, and make computer peripherals. They also have the Zune, an MP3 player that failed to live up to Microsoft’s expectations.
If you want to call me an Apple fanboy, that is fine by me. I do not think that there is any falsehood to any of the things that I stated here. Microsoft is killing itself by clinging to legacy code. They need to send a dozen people into a room at the edge of the Redmond campus to come up with a totally new Windows, built from the ground up. I understand that Microsoft feels pressure from the business sector to stick with legacy code, but that is no excuse. I think that Apple made the right call by scrapping the code that they had used in the Mac from 1984 through 2001 and created a completely new operating system, one based on BSD Unix, no less. A Unix-based Windows might make the PC more reliable and secure. That would definitely be a selling point strong enough to drown out the whiney CIOs who complain about having to learn a totally new Windows.
Another thing that Microsoft needs to do is to sort itself out. It has way too much stuff going on. Microsoft has got its hands in virtually everything relating to consumer electronics, apart from building personal computers themselves. Microsoft needs to figure out what it’s really good at and what it really wants to be good at. They also should scale down the size of their development teams to allow for more creativity to enter their products, where they would normally get drowned out be committees and huge groups.
Of course, I am relatively new to software development, so I could be wrong in all of this. On the other hand, these may be ideas that Microsoft should consider.
I had logged into WordPress.com and I was wracking my brain to think of something to say. That is when I noticed the “VIP Posts” on the login page. It was interesting but uninteresting at the same time. I was uninterested in the content that was presented to me. It was mostly links to posts at CNN or Cute Overload. In the past, I had also seen links to posts on FailBlog and I Can Has Cheezburger.
I was left figuratively scratching my head. I do not understand why they would aggregate posts this way. All of them were irrelevant to me and they were all unrelated, save for the fact that they were all found on prominent sites that happened to use WordPress for their blog CMS.
WordPress people, please understand that this is a terrible way of doing things. Perhaps instead of lolcats and equally relevant new networks, you should deliver content and information that is actually relevant to people. I do not believe that simply because a site has lots of hits and is relatively well-known, it is the best source of information or used by most people. I personally do not look at lolcat pictures or CNN. They are both a waste of my time.
I would suggest that instead of having this”VIP Posts” section, you have a section with posts from relatively unknown bloggers or make it customizable. Having the WP post-login page display a customized feed reader (a good feed reader) may encourage users to get used to WP’s interface and maybe even spend more time there, rather than just clicking through to type out a blog post and leaving.
(Just a thought, which is more than CNN can say.)
It has been a while since I last blogged and I figured I should put something up. I wrote a C program for training purposes for my last job. It’s just a simple command-line calculator. Enjoy!
// c_training.c
// Written by Patrick Proctor
// on February 16, 2009
// patproct@iupui.edu
//
// Last modified: March 2, 2009
//
// This file demonstrates a small portion
// of my mad programming SKILLZ.
#include <stdio.h>
#include "c_training.h"
int main () {
int menuChoice;
mainMenu ();
printf( "Menu choice: " );
scanf( "%d", &menuChoice );
if ( ( menuChoice < 1 || menuChoice > 6 ) && menuChoice != 42 ){
printf("Program has exited.\n");
} // eliminates any selection that is not 1-5
if ( menuChoice == 1 ) {
add();
}
if ( menuChoice == 2 ) {
subtract();
}
if ( menuChoice == 3 ) {
multiply();
}
if ( menuChoice == 4 ) {
divide();
}
if ( menuChoice == 5 ) {
modulus();
}
if ( menuChoice == 6 ) {
about();
}
if ( menuChoice == 42 ) {
blownMind();
}
return 0;
}
int mainMenu () {
printf( "| Calculator |\n" );
printf( "|======================|\n" );
printf( "| 1. Add |\n" );
printf( "| 2. Subtract |\n" );
printf( "| 3. Multiply |\n" );
printf( "| 4. Divide |\n" );
printf( "| 5. Modulus |\n" );
printf( "|----------------------|\n" );
printf( "| 6. About |\n" );
printf( "| 7. Exit |\n" );
printf( "|======================|\n" );
return 0;
}
int add () {
float alpha;
float beta;
float gamma;
printf( "Enter two numbers to add, separated\n by a space: " );
scanf( "%f %f", &alpha, &beta );
gamma = alpha + beta;
printf( "Sum of %f and %f is %f.\n", alpha, beta, gamma);
return 0;
}
int subtract () {
float alpha;
float beta;
float gamma;
printf( "Enter two numbers to subtract, separated\n by a space: ");
scanf( "%f %f", &alpha, &beta );
gamma = alpha - beta;
printf( "Difference of %f and %f is %f.\n", alpha, beta, gamma );
return 0;
}
int multiply () {
float alpha;
float beta;
float gamma;
printf( "Enter two numbers to multiply, separated\n by a space: " );
scanf( "%f %f", &alpha, &beta );
gamma = alpha * beta;
printf( "Product of %f and %f is %f.\n", alpha, beta, gamma );
return 0;
}
int divide () {
float alpha;
float beta;
float gamma;
printf( "Enter two numbers to divide, separated\n by a space: " );
scanf( "%f %f", &alpha, &beta );
gamma = alpha / beta;
printf( "Quotient of %f and %f is %f.\n", alpha, beta, gamma );
return 0;
}
int modulus () {
int alpha;
int beta;
int gamma;
printf( "Enter two integers to find a modulus, separated\n by a space: " );
scanf( "%d %d", &alpha, &beta );
gamma = alpha % beta;
printf( "Modulus of %d and %d is %d.\n", alpha, beta, gamma );
return 0;
}
int about() {
printf( "|=============================================|\n" );
printf( "| About |\n" );
printf( "|=============================================|\n" );
printf( "| This program was written by Patrick Proctor |\n" );
printf( "| out of boredom on Monday, February 16, 2009 |\n" );
printf( "| in NU342. Enjoy! |\n" );
printf( "| |\n" );
printf( "|---------------------------------------------|\n" );
printf( "| |\n" );
printf( "| patrick42h@gmail.com |\n" );
printf( "| http://patrick42h.wordpress.com/ |\n" );
printf( "|=============================================|\n\n" );
return 0;
}