I Just Need Someone to Make Me a Website!

Web Design, Web Development Comments Off

“Hey man, I have this awesome new idea for a company!!! Its gonna be like a Facebook/Twitter/MySpace/Google/Etrade/etc. only better. I just need someone to to make a website for me, you know, cause I don’t know too much about computers. Anyways, I know you’re good with programming and stuff, so you in?”

Anyone who has ever worked as a developer has undoubtedly had more than a few such proposals thrown their way by friends, family or even random strangers they talk to on the internet. Their idea will totally revolutionize the way we do things on the internet, but is so simple that making it should be a snap. Unfortunately, these people are not only ignorant about the technology, but most of the time lack any knowledge of the field in which they plan on making said riches. I myself have a monthly ceremony where one of my friends or acquaintances sits me down and very excitedly explains to me their great new idea, how it will make millions by selling it to Google (it’s always Google for some reason) and how they just need me to write the code “real quick.” The most recent such proposals included a stock trading site and a Pandora like site that “does not suck.” After listening to their proposals, I usually spend an hour trying to explain to them why its not going to happen before completely giving up and telling them I am simply too busy to be part of their new capitalizing venture. Lately I have been getting hit with an increased number of these proposals so I thought I might take a couple of minutes and quickly jot down a few facts all you eager entrepreneurs should know about programming and the web.

How Websites Make Money

Before I go go though the list of reasons you probably should not be starting a website business, let me go over one other very important concept: revenue generation. Unless you’re making a site about your cat, the goal of your site is to make money. If you are not actually selling a product, like shoes or tennis balls or frozen lumpia, there are a few ways that online businesses can generate money. First, and what seems to be most popular, is to give away your products and services for free but gather user information and sell it to companies for advertising purposes. Facebook, Twitter and Google all operate on this business model. In point of fact, you are actually the product they are selling, and their services are just how they get you to voluntarily participate. Another popular type of business plan is to sell subscriptions. Sites like Pandora, Netflix and Flickr provide premium services for a nominal monthly or yearly fee. This type of business plan is also very popular, and profitable, for the sites dealing with, lets just say adult entertainment. Other sites generate revenue by charging “as you use” fees. Craigslist is a perfect example of this as they only charge you a fee if you post a job ad, otherwise their site is completely free.

No successful website ever is built on the notion of being bought out. Sure, one of your long term goals can be to sell a product to competitors, but why would a competitor buy a business whose profit plan is to be bought out? Web companies buy other companies for two reasons. One is to absorb the established user base and the other is to acquire technologies that will be cheaper than licensing or redeveloping. Both of these have only one goal: to increase the traffic and overall user base of their site.

The most important part in generating online profit is having a large user base, so unless you have millions of users or a some amazing new algorithm that millions of users will want to use, you’re not getting bought out. In other words, the only sites that get bought out are sites that have already succeeded on their own.

If you want to start a site that will compete with another established site the most important thing to know is what you will do different. Recreating a service that already exists (and if you’re not good with computers will be much worse) will not attract any users to switch over. A new competing site has to be different enough to carve out its own niche before it has any chance of succeeding. For this you need to invest lots and lots of money.

Websites Are Not Cheap

Web businesses have always been more popular because of their low cost overhead. You don’t need a store front, you don’t need sales people, and most times you don’t even have a product you need to store and sell. Most of the technologies you will use are open source and won’t cost you a dime to use. Hell, you don’t even need an office. You can work from home or the ever popular coffee shop. All these things are great, but websites have a lot of other operating costs that people seem to overlook. The domain name registration, DNS hosting, server hardware (or cloud/co-location/hosting fees), bandwidth and the most important of all the people you have to pay to develop and maintain the site. The more popular the site gets, the more expensive it gets and the costs go up very very quickly.

Things whose costs are negligible, or even free, when first starting out can cost a lot of money as soon as you start getting decent traffic. DNS hosting, for example is usually included in the yearly $20 fee you pay for your domain name, but when your site starts attracting users, it can cost you thousands of dollars per month. If you don’t have the cash to keep a site running when it gets popular it will quickly lose its user base and you will be done.

The cost of the people is the biggest cost you will have to cover. Websites are complicated and it takes people with genuine smarts and talent to create something that works and will generate you money. These kind of people tend to be very smart (and usually already employed) and won’t work for nothing. A decent developer can make anywhere from $60k to $130k at a normal 9-5(ish) job. A start-up usually means 14-18 hour days and working with the insecurity of being fired any moment. The only time developers will ever work for free, or as an investment, is if they’re doing it for themselves. Wanting a programmer to build you a site in exchange for future compensation is the same as asking a construction company to build you a house now, and when the market improves you’ll sell the house and split the profits. It’s not gonna happen.

Websites Are Not Simple

As you may know, websites are actually amazing, incredible yet horribly complicated pieces of technology. It may appear simple enough to us, but billions of dollars and man hours have already gone into figuring out how to build sites that do what you want, do it fast and do it reliably. There are many different aspects of a website: the hardware infrastructure, the data stores, the application itself and the user interface. There are of course non-technical aspects as well, such as marketing, management, etc. but I’ll just focus on the technology right now.

Hardware infrastructure consists of servers and services that run the site. These are simply computers that have to be installed, configured, automated and maintained that will host your website. Starting out, you can pay to have another company handle that for you by hosting the site on a cloud or paying for a server at a data center, but as your site grows, chances are you will need to invest into your own hardware and people to take care of it.

The development of the data stores, web application and user interface all come together to work as your site, but require months, if not years of development to get off the ground and even then require constant work. This too can be outsourced, but its not cheap, and ends up costing a lot more than just hiring developers.

Websites Are Not Static, They Evolve

The first thing I try to explain to my dear friends and acquaintances when confronted with this kind of proposal is that you don’t just build a website and that’s it. A website is never actually done. It is a piece of code that constantly keeps evolving. It has to incorporate new technologies and concepts to meet the exponentially growing standards of its users. I will put it this way: think about what you could do with Facebook 5 years ago, 3 years ago, a year ago and now. Facebook has changed its look dozens of times each time improving its usability and adding new features. Its user base only keeps growing.

Sites also need to keep increasing their response times. Every day the public demands to do more, faster than ever before. I keep getting reminded of a Louis CK bit on the Conan O’Brien’s show (YouTube Link) making fun of how fast our expectations go up.  A website that does not constantly keep up, crashes and burns real quick.

Websites Need Direction

The most important aspect of a website is having direction and passion. The person in charge needs to know everything I have describes so far and much much more in order to know what to build. If you look at the most profitable tech companies of all times: Google, Microsoft, Apple, Facebook, Cisco, IBM, HP, Dell. The one thing all these companies have in common was that they were started by techies who cared about their product more than they cared about their profits. These are the kind of people who had enough passion for the technology to stay up all night writing software, building computers or solving equations just for fun. To have an idea for a website is easy, but to truly deliver it you have to have the passion for the work and brains to pull it off. If you’re coming to me to make it for you, it means you have neither.

TL;DR

Building and maintaining a website is not as simple as it seems. It takes lots of time, money, brains, talent and passion. If you don’t have most of those, go start a banana stand instead.

JavaScript: You’re Doing it Wrong! – The Video

JavaScript, Web Design, Web Development Comments Off

Hi all,

I did a talk recently for my group about some common JavaScript mistakes that I kept seeing over and over again and a bunch of people asked me to web cast it, so I recorded it and, well, here it is. Its not great quality, but its watchable. I also added a link at the bottom for the PPT presentation. When I have a bit more time, I’ll post the slides with explanation here.

Download the PowerPoint presentation.

Snake Oil Feedback

Funny, Human Behavior Comments Off

My buddy Ben stumbled across a very nice website selling high grade snake oil today. Unlike me, who went completely mental when I saw this bs, he calmly sent them a bit of feedback inquiring about details. Note below:

6 Common CSS Misuses

CSS, Web Design Comments Off

Since the inception of the internet, there has always been a struggle between HTML (Hypertext Markup Language) and CSS (Cascading Style Sheets). Clean and proper HTML is very structured and semantically organized, but not very pretty. Creativity was never part of the HTML specification, which is where CSS comes in. CSS aims to take this structured information and present it more aesthetically and in a more personal way to the user, but designing things that look nice does not always work well with the HTML box model and more often than not CSS is misused to get things to render the way you intended. CSS is flexible enough that you can use and misuse it in a variety of ways and things will probably come out correctly, but it can impact the performance, scalability and flexibility of your site in the long run. Here are 6 most common misuses of CSS that I have found in no particular order and some suggestions how to avoid them.

1. Reset All (*)

When designing a website, you want it to look the same for every user, regardless of browser choice. Every browser has its own built in stylesheet for how to render each HTML tag. Unfortunately these stylesheets are almost never identical (especially when dealing with IE) and can lead to strange rendering behavior. To deal with this it is a common practice to use what are generally known as reset classes, but a very common misuse is the dreaded RESET ALL.

Example:

* { border: 0; font-size: 1em; margin: 0; outline: 0; padding: 0; }

I cannot stress how wrong this is. DON’T EVER EVER EVER EVER DO THIS! What this simple and seemingly innocuous statement does is give every element a default margin and padding of 0. It is true that we want to reset most elements down to a baseline (be it a 0px or Xpx margin/padding/border etc) but the blanket statement will also reset thing you probably did not intend on resetting and you will be stuck redefining elements in the worst way possible. Example of this would be lists and blockquotes. These tags which we take for granted would all of a sudden lose all spacing and would look like crap.

Instead of creating this headache for yourself, list all the tags you want to be identical and reset them. Here is the definition I use in my work. Feel free to use it yourselves.

html, body, div, span, applet, object, iframe, 
h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, 
abbr, acronym, address, big, cite, code, del, 
dfn, em, font, img, ins, kbd, q, s, samp, 
small, strike, strong, sub, sup, tt, var, 
b, u, i, center, dl, dt, dd, ol, ul, li, 
fieldset, form, label, legend, 
table, caption, tbody, tfoot, thead, tr, th, td 
     { border: 0; font-size: 1em; margin: 0; outline: 0; padding: 0; }

2. Styling ID’s

<div id="header"> ... </div> 
------------- 
#header { font-size: 2em; height: 100px; padding: 10px; width: 800px; }

While there is technically nothing wrong with applying a style to an ID tag, it does remove any performance benefits that a style sheet provides.Here is what I mean. When your browser requests a website, it downloads both the HTML markup and the CSS stylesheet to your computer. Then as it renders the page (top down mind you) the browser searches the CSS stylesheet by class and loads the style definitions into memory. When a style class is reused, it happens instantly allowing the page to render faster and without additional resources. Unlike classes, ID tags can only be used once per page, meaning that applying a style by ID will never get reused and provides no benefit. If you do want to style just a single element, just add a class to it, and add it as a class style definition. It will render exactly the same, except if at any point in the future you want to add another element with the same properties, you will be able to. Another thing you can do is partition the overall style into subclasses so they are more applicable. Here is an example:

<div id="header" class="bigtext container header"> ... </div>
------------
.bigtext { font-size: 2em; }
.container { padding: 10px; width: 800px; }
.header { height: 100px; }

In this example, I partitioned the the style sheet into 3 classes. One for typography, another as a generic container and the last as specific styles for the header element. Even though this particular element might never repeat, it is conceivable to have multiple elements that require large font text or lots of elements that have a set width and padding as the header element and partitioning it this way will allow for most of those to be reused. Be very careful not to over-partition though by creating overly specific definitions. Read on.

3. Overly Specific Class Definitions

<div>Regular content....</div> 
<div class="red">Sale Sale Sale!!!!</div> 
.... 
<div class="red">ERROR!</div> 
------------ 
.red { color: red; }

One of the greatest benefits that using CSS is being able to change the look and feel of an entire site simply be changing a few parameters without ever touching the HTML. By overly specifying definitions, you completely miss this point. The above example has an error and a Sale statement that both need to be rendered in red as to stand out. If we ever wanted to change the color the sale statement is rendered, we would no longer be able to just change the CSS definition as that would cause all elements with class red to change color, and would also make it nonsensical to have class red render another color. Instead we would have to either edit the HTML and change the class name to ‘blue’, for example.

Instead try to create a set of classes that are both descriptive and reusable. In the above example we have 3 types of text that would exist on the site: regular contextual text, highlighted text and error text. We can then create several reusable classes to work:

<div>Regular content....</div> 
<div class="highlight">Sale Sale Sale!!!!</div> 
.... 
<div class="error">ERROR!</div> 
------------ 
.highlight { color: red; } 
.error { color: red; }

By using this method, we are not tying the class names to the values that are set and while still having reusable classes.

4. Misuse of !important directive

.foo { padding: 0px !important; }

CSS is a very hierarchical language. It is written so that definitions that come last overrule those that come before. Perfect example:

<div class="red blue">Foobar</div> 
------------ 
.red { color: red; } 
.blue { color: blue; }

In the above example the text Foobar will render blue, but if we switch the order of the CSS class definitions as so:

<div class="red blue">Foobar</div> 
------------ 
.blue { color: blue; } 
.red { color: red; }

then the text will render red. The only exception to this rule is the !important directive. Using this directive means that nothing can overrule this definition. If we make the red class !important, than the text will always render red. Only way to overrule it at that point is to make the overruling properties important. That is where the problem comes up. Once you start using the !important directive, sooner or later you are going to be using them to over rule each other and then you got a huge mess. The other problem with them is that if you have the same class defined in different places (a common practice when splitting typesetting and layout) having one somewhere can lead to many frustrations and countless hours trying to figure out why things are not working as expected.

<div class="red blue green yellow orange purple">
 I will always be dark blue.
</div>
------------
.red { color: red; }
.blue { color: DarkBlue !important; }
.green { color: green; }
.yellow { color: yellow; }
.orange { color: orange; }
.blue { color: LightBlue; }
.purple { color: purple; }

As you can see from that example, it does not matter how many classes have been implemented and assigned and in which order. It does not even matter that we overrode that class name itself. I view the !important directive as a hack instead of a feature. If you are using it, then you are hacking around something that should have been designed differently. I have never had a case where I absolutely had to use this directive and re-arranging elements and classes could not be done. Well, there was one case where a 3rd party plugin was breaking my layout by breaking a few of these rules so I had to use it to override it.

5. Problem with catch-all definitions

.header * { line-height: 1.5em; } 
 or 
.footer div { font-family: Arial; }

Catch-All tag definitions are really powerful for setting a baseline style in your design and the fact that you can chain them provides even more flexibility, but they can be dangerous. Styling a tags this way will apply that style to EVERY instance of said tags. It is the catch all we talked about earlier and sometimes it can lead to writing more code to handle the problems when proper planning could have helped. More often than not, I have seen this used as a way to override the typesetting in a child element, except 3 lines down there is another child element overriding that one. For example:

<div class="header"> 
 <h1>TITLE</h1> 
 .... 
 <h1 class="original">OTHER INFO</h1> 
</div> 
<h1>Welcome</h1> 
------------ 
h1 { color: black; font-size: 2em; } 
.header h1 { color: red; font-size: 3em; } 
.header h1.original { color: black; font-size: 2em; }

What we get then is repeating classes and code that really don’t need to be there. Instead of being lazy, just create one baseline and use classes to override properties you want to override. Example:

<div class="header"> 
 <h1 class="title">TITLE</h1> 
 .... 
 <h1>OTHER INFO</h1> 
</div> 
<h1>Welcome</h1> 
------------ 
h1 { color: black; font-size: 2em; } 
.title { color: red; font-size: 3em; }

By just changing how I organized my classes I was able to get rid of one class definition and now don’t have to worry about if the title class will affect anything else it should not.

6. Inline Styling

The last, and one we are all guilty of is using that tempting inline style tag. Sometimes its just easier and faster to add the little style tag to your element than open your stylesheet, find the appropriate place, name it the appropriate name, etc. After all its just one little element.

<div style="padding: 10px;">I will always be 10px!</div>

I have done this. We have all done this. Hell, I still tend to do it every once in a while. Even though there is technically nothing wrong with adding a style, it does break pretty much every benefit that style provides. It is the equivalent of styling an ID tag, styling too specifically and inline styles override almost any stylesheet definition.

If you are working with multiple developers, or at some point expect to hand over the code to someone new, having a mix of stylesheet and inline style will cause a massive loss of time and energy. Just say no and do it properly.

Wednesday Morning Photoshop

Design, Funny Comments Off

Here is a recent picture of Colin Powel….as MJ.

poweljackson

Apache: Redirecting All Requests to a Single Page

Server Administration No Comments

This morning we had a big power outage at our sister site. Needless to say, all of their servers were shut off and all of the thousands of users were getting errors trying to reach their sites. I got a feverish phone call with a simple request: set up a dummy Apache server with some notifications to let the users know whats going on. No big deal. I set up a base Apache server with all the necessary VirtualHosts in a matter of minutes, but when I went to test it, I realized that I had not set up any mechanism to catch URLs that might have been bookmarked, or that other sites had hard linked. In essence, if you had gone to www.example.com, you would have gotten a nice little notice about the outage, but if you had gone to www.example.com/some_function.jsp, you would have gotten hit by a 404 notice.

I dug into one of my old sites where I set up a maintenance notification system and grabbed the code and all was well again. I think its a good idea to have this code handy in case of whatever, so here is what you need to do.

  1. Apache must have mod_rewrite enabled
    LoadModule rewrite_module modules/mod_rewrite.so
  2. Insert the following code in either the .htaccess file in the root directory of your server, or in the httpd.conf file directly. Since I use VirtualHosts for most of my systems, I insert it directly in the VirtualHosts section.
    <VirtualHost 1.2.3.4:80>
         DocumentRoot /var/www/sites/example
         ServerName www.example.com
         ErrorLog /var/log/example-error.log
         CustomLog /var/log/example-access.log common
         Options +FollowSymlinks
         RewriteEngine on
         RewriteCond %{REQUEST_URI} !^/maint/ [NC]
         RewriteCond %{REQUEST_URI} !/maintenance.html$
         RewriteRule $ /maintenance.html [R=302,L]
    </VirtualHost>

Let me explain what each of these mean. RewriteEngine on enables the runtime rewriting engine telling the server to apply all of the rewrite rules.

RewriteCond is a directive that allows you to set the conditions for rewriting. In this case I defined 2 exclusion rules. %{REQUEST_URI} !^/maint/ [NC] means exclude all requests that are going to www.example.com/maint/*. The [NC] flag means ignore case. All files in /maint/ will be read normally. This is where you would store any static images, css files, etc. that you want available when in maintenance mode. The other exclusion rule RewriteCond %{REQUEST_URI} !/maintenance.html$ is more specific naming only /mantenance.html from being redirected. This rule is very important because without it, you would hit an infinite redirect loop.

Finally RewriteRule is where you specify what you want forwarded and how. In my condition RewriteRule $ /maintenance.html [R=302,L], I wanted all possible requests to be forwarded to /maintenance.html. The $ works as a catchall for any and all URLs that meet the conditions I specified above. The flags that are set here are R=302 which sends a 302 redirection response code to the client and L signifying that it is the last rule.
Additional example include forwarding requests from an old page to a new one:

RewriteRule ^/old.jsp$ /new.do [L]

For more info on mod_rewrite, check out Apaches documentation on it. (link)

UC System – Extortion at its Finest

Education Comments Off

I have worked UCSD for about 5 years and as much as I have enjoyed my time here, I have learned what a complete money racket it actually is. This is a bit of a rant on my part having been issued an unjust parking ticket today, but its still very true, and everyone I know that works here agrees. UCSD is a fine educational institution, but their bureaucracy and system of extortion is truly a thing of beauty. I don’t know if this is true at other campuses around the country, but I know its true for the UC system and its complete BULLSHIT!

So how does UCSD extort money? Well starting from the top, most people who work at UCSD are funded by some sort of grant. Some are research grants and others, like mine are for developing and maintaining an educationally and scientifically beneficial resource. Whatever your grant is, UCSD immediately takes 54.5% of the grant money for itself. In most cases this is taken into account prior to applying for grants, but its a huge chunk of money that is consumed for esentially nothing, and can make obtaining a grant that much harder. Part of that fee is justified since they provide hr, payroll, workspace, electricity and internet for you, but its a standard percentage fee for all projects and that has major impacts on most grants holders. Some projects, such as mine, are very well funded, but we have an extremely small team (3 offices – 10 employees), yet end up paying on the order of hundreds of thousands of dollars just to use said space and serivices. Smaller projects give less money but have to have to spend half of their time applying for new grants just to squeak out a measly salary. Keep in mind most of these people are PHD’s who are now making on the order of 30-40k per year, and are working hard, not to make millions, but to better the world in one way or another.

Moving down the chain of extortion, if losing more than half of your grant wasn’t enough, UCSD places a 50% overhead charge on any equipment you purchase that is under $5000. That means that if that desktop you need costs $2000, you actually have to pay $3000 for it, $1000 going to the university. They also do not allow you to bundle purchases together. If I want to buy 3 of aforementioned systems, I would have to pay the 50% overcharge PER ITEM.  “So what, I’m just going to buy top of the line desktops and avoid the overcharge!” you may be saying. In certain cases that is preferable (especially if you’re hovering around the $4k mark) but certain things just cannot be bought at that value. Pens, paper, printers etc. All of the purchasing is strictly controlled by the university and we have allowed vendors we can deal with. There are exceptions, but require exhausting amounts of justification. With that in mind, a $5k laptop is not a possibility. Even a $5000 desktop is hard to come by, but even then budgets are usually too small to buy such exorbitant equipment. To make matters even worse, all hardware over $5k (in my case servers) have to be justified up and down and have to go through countless approvals.

So the university has eaten half your grant, and has pumped you out of another 1/3 of what’s left, but that is it….the rest is yours to get paid and do science. WRONG. On top of everything that UCSD has taken, it still requires all employees to buy parking permits in order to park on campus. This isn’t news for anyone that works in academia, but to you guys and gals in the real world, they actually charge us money to come to work, and its not cheap. I have a staff permit that runs me $78/month. Faculty has to pay ~$98. Oh and unlike other places where you rent a parking spot, UCSD does not guarantee you will even get a spot. The part of campus where my office is located has always been pretty close to capacity as far as spaces were concerned, but recently UCSD felt that they needed to do something about that. First they took 20 spots and converted them to visitor spaces, in which we, who pay monthly for our privilege to park, are not allowed to park and must buy an additional $8 daily pass. This wasn’t enough, so they took half of the parking lot and have begun to erect student housing. Not only do half of us now have to park across the campus and ride the bus to get to the office, but they are erecting student housing there, where upon completion will increase the demand for parking by another several hundred cars. They also have an army of meter maids that will slap you with a $45 ticket for any excuse they can find, including expired tags. Keep in mind, these people are not police, they are UC employees who have the power to cite you for almost any infraction. Forget parking off campus as well, because its not really possible. University City area of San Diego is mostly covered with no street parking signs and the university is surrounded by malls where they will fine you if you leave your car too long, and will most likely have your car towed. San Diego is also a special case since our public transportation is dismal. People who live in the vicinity can choose between a 30-45minute walk, or 35 minute bus ride. I live further away (15-20 minutes by car) and my public transportation timed arival was on the order of 1 hour 30 – 2 hours each way, depending on traffic and bus schedule.

USCD is also a state university which means that its partially funded by the state and the tuitions of students are subsidized as well, bringing in tens if not hundreds of millions of dollars each year. So where does all this money go? I really don’t know. According to the emails that I have been receiving from the university, the state is broke so the non-grant funded staff is probably not going to be paid next month, or will at the very least have to take temporary pay cuts. The students still pay their tuition, my grant is bleeding into their pockets and my personal bank account keeps coughing up parking fees and the university is crying about being broke? What we get in return is massive buildings that are half empty, disgusting pieces of art that look more like litter and garbage than art and a massive bureaucracy who’s only real purpose is to sustain itself. Its a massive extorsion racket and its a damn shame.

Ban All Marriage Now!

Politics, Religion Comments Off

I am not gay. No one in my family is gay. I know a few gay people, but no one in my inner circle of friends. So when I tell you that straight marriage is an issue I couldn’t give a damn about, you can understand how little I cared about gay marriage. What did grab my attention was the ballot results of proposition 8 in California and the aftermath.

Gay marriage seems to have become the hot topic again, after the controversial ballot that passed in California banning gay marriages and invalidating thousands of gay marriages that have already been performed. This seems to have upset many, but not me. I see it as a step forward. Don’t misunderstand me, I have no problem with gay people or their wish to have equal rights. In fact I am all for it. What I have a problem with is the current institution of marriage.

The ban of gays marrying is justified by statements such as “a threat to the American family” but unless marriage turns gay people into murderers or terrorists, I can’t rationalize that statement. Could it be that gay marriage is frowned upon in the bible? I think so. So based on one religions principles we are taking rights away from our own citizens. Hmmmm…I could have sworn there was something in the constitution about separating church and state, at least as far as making policy.

Another excuse that I often hear in defense of the “traditional family” is that it is the cornerstone of our society, and I actually have to actually agree with that statement, to a certain extent. Families are an integral part of any society as far as procreating, nourishing and educating the kids until they are old enough to start their own family. The problem lies in the idea of “traditional family” that has some how, over the last 100 years become husband-wife-kids. Throughout history, this has rarely been a standard template for a family and has only become the norm in the last century, but even if we concede this as a norm, I still cannot see how gays are going to ruin the system. Allowing them to get married will not turn straight people gay, and banning marriage will not cure the gays, so like I said before, unless marriage turns gays into murderers, this excuse is retarded as well. There is no reason, outside of a religious bias, to deny gays marriage. Or is there?

All that being said, I once again reiterate that I think prop 8 was a step forward. Here is what I mean; Marriage today consists of 2 parts: a ceremony and the paperwork. The ceremony can be a religious one or can be a formality performed by a city official. The paperwork on the other hand is the formality that takes care of all of your benefits: prenuptials, taxes, benefits etc. Religion is then an optional part of the proceedings yet is the basis for denying gays rights and benefits. Whats going to be next? Ban Jews from marrying cause they killed Jesus? Ban atheists cause they don’t believe in god? Ban all people of color cause Jesus was a white man from Oxford? I digress.

I say lets treat everyone equally, with the same rights and benefits under the law and cut out the religious influence of policy making. So, I am here and now calling for a complete ban of marriage as a legal institution. We have already banned gay marriage, now lets ban straight marriage.

I know we, and by we I mean all of us religious and non-religious normal people together, cannot force closed minded religious nuts to ever accept gays and if we allow gay marriages, it will inevitably piss them off, again. At the same time we cannot deny rights to a whole group of people simply based on who they love and what they do in the bedroom, something that the government has no place to govern. I say lets make civil unions the norm for all. Raise the benefits of civil unions to include everything that you get from marriage and cut out the ceremony. If people still want to tie the knot under god, then can go and do that on their own but it must not have any implications under the law. This way the religious extremists could still have their sacred institution protected, and the gays would have all the rights they deserve. Hell they can even find sympathetic priests that could marry them under god as well, and if anyone has a problem with that, it wont be a public issue anymore.

Auto Bailout – Part Deux

Politics Comments Off

Well it looks like its Merry Christmas to GM this year as the 13.4 billion dollar bailout was awarded by our beloved leader and chief. As you might have guessed from my previous post on the subject, I do not care much for this bailout, but then again I did not care for the overall bailout either. Companies start and end. They make and lose money and in the process give us new standards of life. The government tries to scare us into believing if any of these companies fail, they will bring the market down with them, but that is just complete bullshit. Do these people truly believe that the big 3 are the only companies in the world that make cars, and if they go down we are all fucked? The truth is that only a small subset of people would be in trouble, but the damage that this bailout will cause long term will be devastating to us all. There are dozens of Asian and European car manufacturers that have been clawing to try and get their vehicles here, since after all, we have had the highest percentage of disposable income per capita than most of the rest of the world. So what if GM is forced to close its doors. Its going to take less than a week for investors to come in, buy up the assets and before you know it, the doors would open and most of those workers that lost their jobs would be back at their stations. I say most, because the guys that come in drunk or are lazy would have to look for new employment opportunities in the service industry, which is the way it should be. Granted they guys left would be putting in modern fuel efficient 4-cylinder engines instead of 1950′s V8′s into modern frames, and the dealerships that currently dispense Saturn’s and GMC’s would have to re-brand, but the overall status quo would be preserved. They would still have cars to make, and we would still have cars to buy; except they would not suck.

Lets put aside all the reasons why the big 3 are in trouble for a minute and just concentrate on the philosophy behind this bailout and the principles of a free market. In the United States, we all enjoy a free market and capitalist ideals. The American Dream itself is a purely capitalist idea; Anyone can become anything they want, and by that we all mean rich. With this core value, we have built a free market economy, where anyone can start a legal business enterprise, and if they were smart enough and sold a product which is, or can be, mass consumed, could achieve the dream of becoming a part of that elusive top 1 percent. What most people don’t want to admit to themselves is that if everyone could reach the top 1%, then it wouldn’t be the 1%…it would be the 100%. What keeps the dream alive and has us all striving to come up with that big new thing that will make us millionaires is the fact that in healthy markets, giants do not stay on top forever. Markets change, technology advances and the companies either have to adapt or fail, and the small forward-thinking companies will eventually take their place. A completely free market, as we have all learned in our intro to Economics class, is not a good thing though. If left uncontrolled, large companies will unfairly crush competition by establishing vertical, or horizontal monopolies and undercutting any viable competition. So we have some laws and regulations in place to prevent this but the reality is that if a giant is forward thinking enough, it can go on forever, just based on the amount of R&D capital they have at their disposal.

The market, therefore, is a very brutal place, but what makes it solid and successful is that all who participate are governed by the same rules of the jungle. With the bailouts, the marketplace is no longer an even playing field. It has now become a socialist, yes, there, I said it, playground for the established. What is the point of starting a company that will be in direct competition with GM, investing enormous amounts of capital and time to come up with a superior product and try to take their market share, when as soon as they get in trouble the government steps in and bails them out allowing them to artificially compete without major effort on their part. What if my company cant keep up with GM due to my lacking funds in marketing, or my product being more expensive, or lower quality? Will I get a bailout? Of course not. So all are equal, but some are more equal than others. Wasn’t this how the USSR operated? Of course not, they also had healthcare for their citizens.

Giants, like the big 3, should have adapted their business strategies back in the 70′s to reflect the changing times. Instead they struck ridiculous deals with the UAW, continued to make vehicles from the dark ages and waved their cocks in our faces believing the whole time they were indestructible. Letting these companies fail would have been a good lesson for the rest of the world on how NOT to run a business. Instead all we are doing now is coddling three spoiled brats and wondering why they wont stop acting out and getting into trouble. The saddest fact of all is that the US manufacturers had one advantage that could have kept them on top of the markets for a long time: Patriotic Loyalty. Americans used to buy only American. They were cars built for Americans, by Americans and the rest of the world wanted to share in that sentiment. It was a huge advantage they had over all of the foreign auto makers, and all they had to do was keep up. If I can buy an American car that looked as good, drove as well and was as reliable as a BMW or Mercedes, I would have bought American without thinking twice. Instead of keeping up all they did was rely on the blind patriotic loyalty, until people started waking up and realizing how far the European and Japanese auto makers have advanced, and how retarded the US manufacturers had gotten. If you aren’t familiar with this sentiment, go test drive a BMW and a Cadillac, and it will become extremely apparent what I am talking about.

The Mercedes S class, for example, is still widely regarded as the showcase of things to come. New technologies, standards in beauty, comfort, safety and quality are all derived from this car. I ask you now, why isn’t the Cadillac this icon? It could have been, but instead looking at a Cadillac is like like looking into the past. Why isn’t the Corvette, a racing icon, as good as a Ferrari? Why do the big 3 have nothing in this country that can come close to rivaling anything that comes from Japan? In Europe, Ford has great cars (Focus, Ka, Fiesta, Mondeo) that give the Japanese and other European car manufacturers a run for the money, but why are they not here? We have the Focus here, but it has a horrible maintenance record in comparison with its Euro counterpart, and one of the greatest advances this company has made, the new diesel Focus, will not even be sold here. So Ford wants a bailout, but they sell their best stuff overseas and give us shit here…. WHY? The reason is that for every dollar that does not go into research and development, or quality of materials, or even little gadgets and details, goes directly into the pockets of the CEO’s and investors. Why invest $100 million into high quality plastics and leather, or independent suspensions, or fuel efficient engines, when they can buy another house, or private jet, or a Ferrari Enzo. These pricks in charge still refuse to take the smallest concessions in order to help their companies and for that I believe they should lose every penny to their name. A CEO of a Japanese Airline which is in trouble has gone as far as cutting all fringe benefits and refusing pay without any promise of a bonus at a later point, living off of savings, eating in the employee cafeteria, and putting in more hours than most of his employees, and these pricks wont even sell their private jets, not to mention the multimillion dollar bonuses they are still receiving for doing such a great job.

In my last article I mainly pointed the finger at the UAW for causing the failure of the big 3, and even though I still believe that they do have a big hand in the money and quality issues, I really wanted to clarify that they are not alone in guilt. Everyone involved with the big 3, which as of last Friday includes our government, is guilty and should be punished to some varying degrees. The concessions that UAW has been making in the talks over the last few weeks are not nearly enough to help, but at least they are willing to negotiate and help. Now that they money has been dolled out, I say the first course of actions should be the immediate dismissal of all CEO’s followed by a strict tax audit of their finances. I am sure by doing this we will be able to recover a good chunk of the money we just involuntarily gave them. This should obviously be followed by complete restructuring of the companies and modernization of their business plan.

Lets face it, folks, this money is gone, and we will never see it repaid, so instead I want to see quality cars made in the next 5 years, and I want each citizen of this country to get a fucking coupon for one.

Black Friday Idiocy

Human Behavior Comments Off

To all of you who rushed out yesterday morning in mobs to get the best deals I have to ask: what the hell is wrong with you people? Every year, the Friday after Thanksgiving, most retailers offer discounts to increase their sales, but are they really such great deals that people have to get hurt or even die for? The only thing I can think of to compare the behavior witnessed all over the nation yesterday is what we tend to see on news broadcasts from third world nations when the Red Cross supply trucks arrive. People trampled, brawled, shot and killed, but not for the lack of bread, water or desperately needed medical supplies, but for X Boxes, TVs, stainless steel grills with the side hotplate attachment, never to be touched treadmills and ellipticals, Chinese manufactured toys,  and other useless commodities. What exacerbates the situation even further is that anything that was bought yesterday can still be purchased today, or Monday, for $10 or so more.

This country is in the clutches of a financial crisis and it is time for us to start living more within our own means, but how many of you that went out yesterday bought things you did not need with money you don’t have? So Christmas is coming up, and gifts need to be bought, but its not an excuse to practice irresponsible spending and violent mob behavior. If Timmy gets a PS3 today, or December 25th or January 2nd, do you honestly think its going to make that much of a difference in your lives that would justify what happened yesterday? It won’t. You may have convinced yourself that you need all the things you bought yesterday, but you don’t.

A man crushed to death and pregnant woman seriously injured (link), 2 shot to death (link), and countless other acts of primitive violence (link), all committed in order to buy unnecessary things with money you don’t have. You all disgust me and should be ashamed of yourselves.

Powered by WordPress | Theme by Bojan Beran Feedburner Posts RSS