Tuesday, September 20, 2011

Why Every School in America Should be Private

This is an idea I've had for quite a while.

I talk about it ad nauseam at dinner parties, during rounds of golf, you name it. It takes so long to remember all the points that I thought I would finally get it all out in print. So here it is:

The Problem.

The American public school system is an utter embarrassment. We fall behind in almost every major educational category when compared to other developed countries.

The Solution.

Abolish public schools. Remove government from the role of educating kids completely. Allow vouchers for lower income families to attend whichever school they see fit.

Reasons why it will work.

1. All substantial innovation is done through the private sector. Companies like Apple, Boeing, and Google are shining examples. When people compete to make the best product, all products benefit. Government schools compete with....you guessed it...no one.

2. The private sector is more efficient. According to the National Center for Education Statistics, it cost U.S. taxpayers $10,441 per child to attend elementary and secondary school in 2008. The Cato institute discovered that these costs don't even include capital expenditures including school buildings. Making real costs per pupil in the range of between $12,000 in Houston up to $28,000 in Washington D.C. Adam Schaeffer writes, "public schools are spending 93 percent more than the estimated median private school."  Money like this could send any child to the best private schools in the country.

3. Bad teachers will now get fired! Public schools almost never fire unionized teachers. Tenured educators lose incentive to perform. If you work for a company, guess what? If you don't perform, you don't work.

4. Good teachers will start making real money! That's right, along with all the benefits of capitalism comes competitive salaries. Want to have the best and brightest teachers? You better get your checkbook out.

5. Escape from poverty is difficult when you don't have any money and your kids are forced to attend the crappy school in your impoverished neighborhood. With vouchers, poor kids can go to school with rich kids, go figure! Equal opportunity is finally here.

6. Choice for parents. Are you Christian , Jewish, or Muslim and want your children's education to touch on morality as well as Algebra? You can't do it now unless you have money. Personalized education is impossible in public schools since you have to provide a vanilla experience so as to not hurt any taxpayer sensitivities.  With a privatized school system, all schools will be individualized and on equal footing. Now parents can decide how their children should be educated, even if they're poor. What a novel idea.

7. Is your kid not college bound but knows his way around a jigsaw? Guess what? There is nothing wrong with being a carpenter, a plumber, or a mechanic. These used to be professions that were worked with pride. Now anything other that a 4 year degree is looked down upon. Schools are completely built around the idea of continuing into higher education. Not everyone is the same, schools shouldn't be either. Let's bring trade-skill schools back instead of trapping these kids into a system that they are destined to drop out of.

8.  No more conflict of interest.  No more conservatives and liberals fighting over which textbooks our kids should learn from.  No more presidential addresses in homeroom.  It's a conflict of interest for government to be involved in education.  Parents should choose how America's children are educated, not politicians.

These are just some of the reasons that this could work.  What are your thoughts?

Wednesday, March 31, 2010

Google Chrome and Safari: what is your problem with THEAD and repeating background images??

Just finished banging my head against a wall on this one. Finally figured it out and it was so stupid simple. I had a single fixed background image (936px wide) as a TABLE's header here was my CSS....

/* ------------------------ standardTable -----------------*/
.standardTable{width: 936px; margin: 0 auto; padding: 0; border-collapse: collapse; text-align: left; }
.standardTable thead{margin: 0 auto; padding: 0; text-align: center; background: transparent url(images/standardTableHeadBack.png) no-repeat 0px 0px;}

For some unknown stupid reason, it looked great in IE 7/8 and Firefox but in Chrome/Safari the background would repeat every cell across the THEAD!

The solution is simple: Move your background property over to the TABLE itself, like such...

/* ------------------------ standardTable -----------------*/
.standardTable{width: 936px; margin: 0 auto; padding: 0; border-collapse: collapse; text-align: left; background: transparent url(images/standardTableHeadBack.png) no-repeat 0px 0px;}
.standardTable thead{margin: 0 auto; padding: 0; text-align: center;}

Not sure why this works, but it does. I'm guessing that Safari/Chrome doesn't render the THEAD object as a block element, maybe? Who knows.

Thursday, November 12, 2009

My new, FREE app to generate VB.NET, SQL Server , and HTML code

So. I wanted to stop being a monkey.

I spent too many hours writing the same code over and over again.

I am a VB.Net Developer and my style is very N-Tiered. I work for a company that has many different clients coming and going, and with that, I find myself creating new databases, schemas, and projects from scratch.

It always happened the same way...

1. Create the database, tables, and stored procedures
2. Create a DAL object for each table with the standard CRUD operations.
3. Create Biz objects for those DAL objects along with properties, variables, constructors, conversion methods, and methods that call the DAL CRUD methods.
4. Create front end markup with data controls that call the Biz methods. Usually containing listviews, forms to add, and forms to edit the custom objects.

In every case, 90% of this code followed a pattern.

What a waste of time.

I knew that some of my colleagues were using off the shelf tools that would generate code based on their tables. However, I never liked the idea of being held captive by some software that created this stuff for me. What happens if I want to do something to a DAL method? what happens when someone else works on my code? I don't like things being hidden from me, and I don't like not having complete control over my work.

So it finally hit me. Why not just build a winforms app that writes all this stuff for me? DUH.

All my app would do is spit out code in a multiline textbox that could be copied and pasted into my project. How sweet would that be?

So I built the app and it works! It's already saved me tons of time and I was so excited, I had to blog about it. For now, it's totally free. Maybe someday I'll figure out how to make a few bucks off of it (doubtful).

Here's the link

By the way, in order to actually use the code, you'll need 3 or 4 custom classes that I have written. Namely OperationStatus and DataAccess which consolidate CRUD operations. Both of these classes are referenced in the generated code.

If you want these files, shoot me an email.