Wednesday, April 25, 2007

Something Simple

I made my philosopher janitor story HTML strict. It is pretty much the only piece of writing I've done that's come out half way decent; so I figured I should try to present it in the best format possible.

This is the story where the janitor cleans so well that he cleans himself out of existence.

Sadly, parts of it are true. I worked in one office where a janitor was fired because a person claims to have lost two pennies. In another office, the janitor was canned because an executive placed important company records on the trash can for the evening, and the janitor threw out an extremely important report.

The story was originally an epic poem about the janitor. I decided to change it to a mix of poetry and prose.

The real point of the poem was that we all see the world from different perspectives. The janitor sees the world as a thing that needs to be maintained. He also spends his life working in negative space. There is all of this stuff in life. What we remove all of the fluff and gradually dig down to ourselves.

The predictable twist of the story is that janitor starts out seeing cleaning as a moral question, but later sees it as an existential question.

Anyway, what I thought would be a quick clean up of code (just before bed) turned into an epic struggle itself.

Replacing the tables with a DIV took about 2 minutes. Formatting the page in HTML strict took about 15 minutes. The thing looked good in Internet Explorer. Getting an HTML Strict document looking passable in Firefox took an hour and a half. I still can't figure out how to get rid of one gap in the document.

Tuesday, April 24, 2007

Don't Quote Me

This one has me sad: Browsers are supposed to render the Q tag with quotation marks (W3

"This is a Sample of the Q Tag."

If you are viewing this page in Firefox or Mozilla; you will see two sets of quotes. Internet Explorer only shows the quotes that I added. The different renderings make the tag useless.

The fact that the W3 started to use HTML tags for punctuation makes me really sad. This is the ultimate violation of the rule of separating form from content. The following line uses the Q tag. You can see them in Firefox.

Highlight me! I am quoted.

If you copy and paste the sentence into Notepad, the quotes magically disappear. The meaning of sentences change when you remove the punctuation.

I don't know who I dislike more. W3 for the stupid behavior of this tag or Microsoft for not implementing a really bad idea.

Here is the W3 Tag Definition for quotes.

Sunday, April 22, 2007

floating about, or about floating

First the good news. I finally figured out how to center the contents on Ryan Hiller Music. The next link should pop up a page with a song that you can listen to while you read this post.

Now for the rant. This is about the type of garbage that makes web programming miserable.

NOTE: I've spent about $300 bucks on CSS books and have tossed several hundred frustrating hours into trying to find good ways to render pages with multiple columns with CSS. You know, that stuff that took all of 8 minutes to learn using the venerable TABLE tag.

Anyway, on Ryan's site, I wanted to use the FLOAT method of page layout.

The basic idea of the float method is to create an outer division of a fixed size, then to let the elements of the page float in this known block. Setting the left and right margins to auto affectively centers the page. Several of my expensive books suggest taking this route.

On Ryan's page the outer division is 640px. The first item in the page is a picture of width 200x200. The next item is a logo that is 440x120px. 200 + 440 adds up to a width of 640px. Notice that I have a blank spot under the logo that is 440x80px. The next division is a menu in a 440x24px box and a header that is 440x56. Since the outer box is 640px in width, the inner elements will just float into place. I can then add addition blocks of information below.

If you have a fixed outer box, you can adjust the sizes of all the elements so that they float into place.

This is all well and good. For that matter, the page rendered perfectly in Internet Explorer. I spent several days struggling to get the page rendered in Opera and Mozilla. I read several hundred online pages on web design. I did search after search on Google, and then finally conceded defeat. (This was 2002). I fell back on a crappy absolute position design that I severely disliked.

I took up the problem again in 2007. The float model renders easily in internet explorer, but not in Firefox.

Fortunately several thousand other people had the same problems. There is now a large number of pages talking about the subject. For example, here is a 2006 thread on WebMaster World. It turns out that to get the CSS to display the way I want, I need to add the line "overflow:auto;" in the outer division tag.

What I gleaned from the other pages is that the originators of CSS thought that one item floating in another item was logically absurd. It would be like someone putting a swimming pool on a cruise ship.

Imagine an ice cube floating in a martini glass held by a tanned young woman floating in a pool that is in a yacht floating in the Caribbean. The very notion is absurd. I refuse to believe that such an event could happen. Yes, you can buy be a ticket on a cruise ship. But I won't concede this point … until I've rubbed some suntan lotion on the shoulders of that young lady.

Now for the big controversy: Microsoft rendered the page as people would expect. When writing internet explorer; a programmer at Microsoft decided that if a person put one division inside another division, they probably wanted the inner box to be displayed inside the inner box.

This is the weird part. On reading pages from different CSS gurus, most of them are angry at Microsoft for displaying the page in the way that people would expect the page displayed.

Many of the CSS gurus are extremely passionate in deriding Microsoft for not being "compliant" on this issue.

Quite frankly, I think the gurus are sick.

In a healthy society, standards are an organic, changing thing. In the first decades of the computer industry, all of the applicable standards evolved rapidly with technology. The ie browser had a more intuitive implementation of the CSS standard. In a healthy world, the standard would change.

Like almost all ideas. The first iteration of CSS was buggy. In a healthy world, the players in the industry try finding different ways to implement the standards, and gradually work out the bugs through better implementation, or by changing the standards.

What seems to have happened with CSS is that the thugs at the standards committee have made an intentional effort to stop the natural evolution of CSS, and are engaged in a group thrashing of Microsoft. They are taking all of the bugs of the first CSS implementations that Microsoft did not implement, then trying to say that Microsoft is evil for not implementing the bugs.

The method is simple. A group defines an enemy then systematically attacks their defined enemy. When people fall into this mindset, they fall into oblivion where they are incapable of doing those things that can make society better.

When tracing down these CSS bugs, the patterns seems to be that the standards committees are intentional preventing the improvement of CSS simply so that they can throw the accusation of noncompliance at their hated enemy.

I loved the response from ZackAttack on Webmaster World. "PS: Sorry I should have said.. IE may show it correctly but I imagine this is because of non-compliance "

The attack on the hated enemy has become almost a chore. (BTW, I need to say something bad about George Bush).
BTW, I am not a fan of Microsoft. Microsoft has a history of introducing new proprietary features with their browsers, and other moves to undermine competition. I am not a fan of Microsoft, but a rational world shout down Microsoft when it is in the wrong, but welcome when the company implements a more intuitive understanding of the standards.

We should be upset for the things that people do wrong. This modern method of trying to focus absolute hatred on one's enemy leads to naught.

Anyway, I know it is logically absurd. But the more I think about it. I would rather be floating next to that tanned young lady sipping a martini while floating in a pool that is in a boat floating in the ocean. She really needs just a little more sunscreen on her shoulders. My margarita would have one of those little umbrellas to keep the ice cube from melting. I know. I know. I would look absurd in a panama hat, bright floral patterned shirt and flip flops, but I can live with that.

Now, where is my lost shaker of salt?

Saturday, April 21, 2007

There Is No CENTER

The first thing we need to remember is that a floating element is shifted either to the left or to the right. It is not possible to make an element float in the centre.

While visiting CSS guru sites, I finally learned the reason why there is no "float: center" option in CSS and why the W3 deprecated the HTML center tag.

The reason for this is that it is logically absurd for something to float in the center.

You can easily prove this assertion true: Take a balloon into a room with standard atmospheric pressure on earth. Fill the balloon with helium. Tie off the end of the ballon and release it. The balloon will not float upward to the ceiling. Instead, it will float left or right to the nearest wall.

Okay, I have not tried this experiment myself. I don't have a balloon or helium source at hand.

I feel confident that a balloon would not float upward because the W3 consortium and leading web authorities say so. The only other possibility is that the elitists at the helm of the W3C are one dimensional thinkers with a stick up their collective [the ending of this paragraph was removed by the moderator].

Anyway, I now know that the reason why the W3C deprecated the CENTER tag. They did so because centering an element on a web page is as logically absurd as the notion that a balloon filled with a substance lighter than air would float upward.

Thursday, April 19, 2007

Philosophia - Beautiful Ideas

Philsophia by The Guggenheim Grotto is the iTunes Song of the Week. (Click the button to load iTunes):

The Guggenheim Grotto - Philosophia - Single of the Week

The song has a really nice, calm, beautiful sound. On listening to the song, I find myself extremely disappointed with how mean and nasty the lyrics are.

It is sad. The world of ideas is consistently portrayed by popular culture in a negative light.

The basic gist of the song is that the beautiful ideas of youth are somehow absolutist.

Yes, there are some ideas that are absolutist. Quite frankly, I have never found such ideas beautiful. Absolutist ideas are only deceptively beautiful.

I would say, however, that most of the truly beautiful ideas classical tradition are beautiful because they are open minded. A truly beautiful idea empowers the people around us and enhances our society.

What the nihilist does is project absolutism on his opponents, then rejects all words from the opponent as absolutist. Nihilism is the ultimate absolutism. Nihilism appears clever because it is paradoxical.

If you are a youth; download the song and enjoy, but ignore the call to give up on beautiful ideas. A youthful mind empty of beautiful ideas is a great waste.

My Apologies

I owe someone on the internet a super big apology.

Here's what happened: I put a comment program on the site Roots of Sound Rational Thinking. The comment section sent an email notification for responses to a comment. To make a long story short. Someone hit the comment page with 180,000 spam comments; which potentially sent 180,000 comment notifications. I actually don't know if the program sent notifications.

The person who owns the site was so upset about the comment spam attack that I deleted the 180,000 spam comments before analyzing the data. It is possible that no email notifications were sent. It is also possible that thousands were sent. I had left comments on the site, and received no comment notifications.

I had several safeguards on the email notification program to prevent comment spam. Of course, I also had tricks in place to prevent comment spam. The spammer broke the first lines of defense and deposited 180,000 spam comments. There is no reason why I should think that he did not also break the second allowing the comments to send comment notifications.

Saturday, April 14, 2007

Solar Row

Solar engery is extremely interesting as it is a technology that we will want to incorporate into our living spaces and personal portfolio of investments. Increased awareness of solar energy is also intriguing from a design perspective. The goal of sustainable development is for people to develop living spaces that take maximum advantage of the sun that hits their property.

As people put their minds on developing houses with a low carbon footprint, they will find themselves doing all sorts of interesting calculations to keep sun for the garden, heating the house and generating electricity.

I just found a cool site: Solar Row is project by Wonderland Hill Development of Boulder, Colorado. This project has 13 houses designed for sustainable living. This is the type of project that I think will really make a difference in the world. A Baker's Dozen is about the maximum size that a rational human would want for a development. It is enough to give the developers the economy of scale that they need without creating a no-mans-land of undiffentiated houses that you get with bigger developments.

As people incorporate the ideals of sustainable living into design, I think we will see a massive improvement in the quality of our living spaces.

Unfortunately, the project is in Boulder (one of the most expensive communities in the Mountain West); So, I think I will buy a lottery ticket. If I win the lottery, I will buy a unit on solar row.

Friday, April 13, 2007

Pragmatism is an Ideal

Here is one to file under the category of paradox. Pragmatism is an ideal.

Occasionally I come across extremely empassioned pleas for people to cast their ideals aside and to follow the pragmatic course of action.

For example, the Bush administration had an impassioned plea for the United States to throw aside the ideals of the Powell Doctrine and the ideals of the United Nations to directly confront radical Islam by invading Iraq.

The problem, of course, is that pragmatism itself is an ideal. Even worse, it is an ideal that, from its inception, has nullified itself through resort to paradox.

When you look at modern history, I think you will find that many of the worst atrocities have come from the hands of people claiming themselves to be pragmatists.

Look at Western History: We adopted slavery because it was a way to get things done. The feudal order was based on pragmatic notion that a hierarchical order was the way to get things done. In US history, Andrew Jackson, Armstrong Custer led us in extermination wars with the Native Americans as pragmatic ways to get things done.

Further on the left: Stalin and Mao appeared as the great pragmatic leaders of the people. Breaking eggs (that is genocide) was the pragmatic step towards a peoples' paradise. Hitler considered himself a pragmatist. He and his band of rogues got into power as they were the ones willing to take the ugly pragmatic steps to get the job done.

In the cold war, the United States developed an unpleasant pattern of casting aside American ideals and supporting dictatorships simply because that was the pragmatic way to get things done.

Pragmatism is an ideology just like all of the ideologies that pragmists despise. Just as blind adherence to ideologies leads to folly, blind adherence to pragmatism led to great suffering.

The seduction of pragmatism is its paradoxical nature. People love to think in paradox. Unfortunately, since "pragmatism" is founded on paradox, it is one of the most dangerous ideals. You never know which direction it will take. In most all cases, the pragmatic man of action declares pragmatism simply because he wants to take us in directions that we are ill advised to follow.

Thursday, April 12, 2007

Solar? NIMBY!

In a previous post, I put forward the supposition that solar is best developed at a local level. The federal government needs to make sure that the grid is open to alternative energy and define standards that allow people to connect things to the grid, beyond that, Federal efforts to develop solar are bound to muck things up and simply enrich a oil barrons.

One of the replies to the post is that solar should be developed by local politics.

If you jump back in time (a half century ago); you would find that there was a great deal small companies working with various alternate energies. Most of these efforts were shut down by NIMBY local politics.

The down and dirty of it is that many forms of alternative and renewable energy create more visible pollution than oil and gas. The contraptions that harness water power, windpower, or that burned renewable biomass were unsightly.

Biodiesel, BTW, is not that terribly new. All that has happened is that it went from ridicule to chic. Do you really like cars that smell like french fries? Do you really want someone brewing up fuels in their garage? The political judgment on this type of activity a half century ago was a resounding: Not In My BackYard. Communities past a boat load of NIMBY laws that forced us into a single energy source solution.

Anyway, solar energy is right at the cusp where it will be cost effective on a massive scale. Once it is cost effective, greedy individuals and businesses will be slapping solar panels on their roofs to cut their energy bills.

Since there is a built in economic incentive for going solar, there will be no reason for local communities to play an active role in financing solar (beyond their own infrastructure developments). I suspect what we will see is local politics falling back into its NIMBY mindset. I suspect that local politics will quickly fall into its traditional negative role in efforts to limit where, when, and how people apply solar. There will be lawsuits galore when onen person's solar panel blocks sun from another property. Likewise, I wonder how long the politically correct chic wears off and we have the John Edwards of the world suing people right and left for putting up solar eye soars.

My judgment on political involvement in solar is: If they government makes massive subsidies on solar before it is cost effective, they will do more environmental harm than good. Subsidizing solar when the pollution created by the production, installation and maintenance of the panels is greater than the amount of pollution saved by the panels actually adds to the net pollution on the planet.

Subsidizing before it is cost effective creates waste. Subsidizing after it is cost effective is unnecessary.

Any federal program to promote solar will push solar energy into the big energy market. Local governments are likely to start with well meaning efforts to promote solar; however, local politics will eventually push them back into the role of zoning and regulating the industry.

In other words, the market is the sun's best friend.

(Alternative Energy Links)

Wednesday, April 11, 2007

Aligning Tabular Data

The TABLE Tag in HTML exists to support tabular data.

Here is a question for any accountants out there: What is the one formatting thing that you want to do with columns of numbers?


You want to either right align (or preferably decimal align) rows of numbers.

The standard of right aligning columns of numbers and left aligning text reaches way back to the invention of the Arabic numeral system.

The HTML language includes a COL tag. Internet Explorer will align columns specified with the col tag. FireFox and standard compliant browsers do not.

I understand that the reason that the COL tag does not work in FireFox is that cells in the row do not inherit the properties of the column. I guess the ideal of the HTML standards is that everything in XML languages need to be based on a hierarchical model. A tag can only inherit properties when it is nested in other tags. Since an HTML file really is just a one dimensional string. In the 1 dimensional hierarchical world of the standards committees, only the rows can inherit properties.

Tables are two dimensional.

The simple one dimensional hierarchical method that bureaucrats love fails when more than one dimension is involved. With a one dimensional model, you can either inherit the columns or you could inherit the rows, but not both.

The sad thing, of course, is that HTML is primarily about displaying information on a two dimensional surface.

Tables are an inherently two dimensional structure. Rene Descartes showed us that we can do all sorts of wonderful things with very simple two dimensional mathematics.

The reason that web masters were drawn to TABLEs like flies was because it gives them a two dimensional framework for their designs.

Creating a program that allows formatting of both tables and columns is really not that difficult.

It leaves me wondering why the standards committees are forcing so much brain damage on the world in their pursuit of the idiotic ideal of trying to force inherently multidimensional structures into one dimensional hierarchical models?

In order to do the really simple task of aligning a column, I have to set a style tag on each cell in the column I want to align ( style="text-align: right" ).

Here is a Webmaster World Thread lamenting the same lack of thought on the part of the W3.

Tuesday, April 10, 2007

Red Butte Canyon

Red Butte CanyonOver Easter, I took a walk up Red Butte Canyon. I was wrong. I thought Red Butte Canyon was completely closed to the public, when only large sections of the canyon are closed to the public. There is a nice bike route on the North side of the canyon. There is also a day hike along the Skyline Trail on the South side of the canyon that wraps around Red Butte Garden.

For many years, Red Butte Canyon was in the domain of Fort Douglas. That might explain why I had in my mind that they area was closed. Prior to the Olympics, Fort Douglas was consumed by the U. The U turned much of the area into a private nature preserve.

There is only a little section of Red Butte Creek that is accessible. You can see big dents in the fence around Red Butte Garden made by wildlife trying desparately to get to the water.

I will have to try the mountain bike ride. He, he, he I could force Coco to run behind me on a mountain bike. Nah...making a dog run behind a bike is just too cruel.

Arrowleaf Balsamroot
I got some good shots of Arrowleaf Balsamroot on the walk. Some of the Balsamroot is totally covered by hairy stuff. I suspect that the super hairy plants are Hairy (Hookers) Balsamroot. I really not sure if a gallery of pretty flower photos does the world any good. What is needed are resources to help people identify plants. For that matter, taking wildflower photos next to a botanical garden is not a wise idea. You don't know if your subject is a wildflower or something that escaped from the displays.


I finally gave up on HTML Strict and fell back to HTML transitional. I really want to support the standards movement, unfortunately, the standards movement is off in its own separate universe and fails to give the web designing world what it needs.

IMHO, depricating the center tag was totally uncalled for. Centering text and objects is the fastest and easiest way to balance a web page. This is especially important since you don't know the size of the page on which an object gets displayed.

W3 probably saw the deprication of the ability to center objects as some great statement in their battle to separate content from presentation. Of course, while they got rid of the ability to align text, they require the width and height attributes for images. This means that you have to define the presentation of an images with a mix of attributes. So you have to define a imag as: width="100" height="50" style="margin: 0px auto 0px". If defining format is so all super critical why not go all the way and have you define it all in the style tag?

Anyway, I gave up on HTML strict so that I can use iFrames. The pages on the community directories (e.g. Grand Junction) have a Dex Ad at the bottom of the page. The ad is 5KB in length. The page itself is only 6KB. I figure I can reduce the load on the server by putting the ad in an iframe. HTML strict does not support the iFrame Tag. I had been tempted to place all ads in iFrames.

I imagine the browser makers and standard setters sitting in ivory towers battling over petty details of tags, while the population at large is the victim of their arrogance.

Different Technologies Require Different Markets

I am a big believer in "Small is Beautiful."

Different technologies seem to require different market models. For example, Coal, Hydroelectric and Nuclear do best with the BIG MODEL. A big coal generator will produce less pollution for the same input of coal and output of electricity as a large number of small coal plants. When coal was used by small industry or for heating, it proved to be extremely dirty.

Solar and biodiesel seem to work better at a smaller scale. Biodiesel draws power from waste materials; so you need to have a large number of independent processing plants processing the fuel.

Solar energy reaches it zenith when it is incorporated in construction. Incorporating solar into construction involves all sorts of contracts with the property owners.

It is a strange difference. If you are going nuclear or with coal; you should be thinking in terms of large plants geared to maximize the energy produced for the environmental production. When thinking solar or biodiesel, I hope that people will be thinking of small concise applications of the technology.

Since coal, nuclear and hydroelectric require big operations, they really are in a situation that requires government oversight.

My fear is that when you take the big government/big industry view of developing bio technologies and solar, you will end up forcing the naiscent industries into the same big energy models.

This is what we are seeing with George Bush's big push on ethanol. He is forcing this biotechnology into big business/big government model that they Bush's know and love.

Solar, ethanol and biodiesel can all turn ugly if forced into the big model. The really scary thing about solar is that people will be tempted to cover large sections of the earth with solar panels. I could see the government covering (and consequently destroying) hundreds of square miles of BLM land with solar panels.

Sunday, April 08, 2007

Solar Easter

Happy Easter. It was a bright beautiful sunny day. I hope you spent your Easter outside enjoying it.

Speaking of the sun ... I've come across more and more debates on solar energy. There are several new technologies and manufacturing techniques on the horizon that look quite promising.

The deal with all energy technologies is that they not only need to make economic sense, they need to make environmental sense. The waste products and chemicals used to make the last generation of solar technology did not add up to a net positive. They did more harm than the fossil fuels saved. It looks like we are right on that cusp where the technology will work.

Unfortunately, the shrill debate about global warming has people demanding subsidies for the technology.

I wish people understood basic economics. We are on the cusp of solar becoming economically and enivornmentally cost effective. Subsidizing the roll out of solar before crossing the cusp costs a lot and does environmental damage. Once we are on the positive side of the curve ... you don't need subsidies because it is a cost effective investment.

In the aftermath of the oil embargo of the Carter years, there was a massive trillion dollar effort to push alternative fuels onto the market. By trying to push technologies on the market prematurely, the effort actually ended up collapsing and setting back the technologies.

The same thing happened with nuclear. The government went hog wild and pushed out a large number of reactors that produced waste problems we don't know how to handle.

Subsidies are generally the result of applying short term thinking to long term problems. The long term solution for alternative fuels is to let the market grow organically. Big government programs destroy that organic growth. They generally widen the gap in income and have a long history of magnifying the evil side effects of technology.

People demanding that the government should bumble over the market to subsidize solar should look at the history of the government bumbling over itself to build dams, nukes and subisidize big oil. The market does a better job of signaling when to go with a new technology.

In that regard ... I don't think this is the year to buy solar. In two to three years, there will be some really big things on the market.

This is the time to start researching solar. It may be a good time to buy gadgets and start preparing for an investment in solar down the line.

A Salt Lake store just opened a web site called Solar Home (solar home ad). This company sells solar products at a discount. The main solar products are at a point where it takes about 10-20 years to pay back the cost of the investment in energy savings (assuming that the labor to install and maintain the units has no value). In this regard, the most interesting products are the educational products and certain "off the grid" contraptions that can power things in remote locations on for portable power.

In the gadget area, I really like the solar powered fountains. Of course, buying a solar powered fountain or a solar night flower doesn't do anything for the environment. These products don't replace energy consumed from other resources. If you want outdoor lighting, you can get outdoor lighting, without having to wire up the garden.

I think energy efficient appliances is the best place to invest consumer dollars at this point.

Saturday, April 07, 2007

A Table for One

We used to use tables, which worked well in this scenario—but forms don’t constitute tabular data, so it’s a semantic faux pas.

Nick Rigby, A List Apart

I know this sounds absurd, but I've been burning the midnight oil trying to come up with a new way to do HTML forms.

The ideals of CSS and DHTML say that programmers should not use HTML tables in design. Every single form I've developed uses tables. I want to be a good programmer ... so I've thrown in hundreds of hours to figure out how to do it the right way. Unfortunately, not a single one of the CSS/DHTML methods I've found for formatting forms has the elegance of placing the form in a table.

For nonprogrammers, here is a short summary of the conflict: In the first versions of HTML there was no way for web developers to set the margins on a web display. To make matters worse, the web browsers of the day scrunched the text of a web page against the edges of the browser, making pages hard to read.

It just so happens that HTML included table elements. Programmers quickly learned that they could overcome the shortfalls of HTML by putting all of the text in a table, and giving the table a margin.

Later versions of HTML included layout boxes called divisions and a layout language called CSS. The standards organizations then went on a crusade to remove tables from web design.

In a classic story of over reaction, the intelligensia went on a crusade to remove all tables from web pages. The ideal was to develop web sites with absolutely no tables. Group think dictates that the presence of a table in a web page is a sign of a second rate programmer. I admit it. I actually feel less of myself because I can not figure out a good way to make a form look good without using tables.

Anyway, while working late night sessions trying different ways to replace tables it dawned on me: The reason I want to use a table in HTML forms is because forms are, by their nature, tabular data.

I came to this realization simply by stepping back and looking at what I was doing:

I am first and foremost a database programmer. The web pages I design are generally about putting data in tables and displaying that data. In most cases, the purpose of the web form is to gather a row of data to place in a web form.

In database programming, you often find yourself working with a single row of data. A table with a single row of data is still a table.

It is customary to present tables in a top down fashion with the headers of the table in the top row and the data in rows. There is no universal law against displaying the data horizontally ... that is with the headers in the first column and each row in following columns. When dealing with a single data element, it is often cleaner to display the data in the horizontal fashion. For that matter, most drill down reports will display a table with rows of data. When you click on an item in the list, you will see the detail listed in a horizontal table. (eg, here is a list of books I've read recently. If you click on a book, the program shows the detail in a horizontal fashion.

A form is really just a blank row of tabular data.

Yes, using tables for the primary layout of a web page was a misuse of tables. The mania to replace all tables in web design with divisions was a similar misdirection. Using divisions and labels for displaying tabular data is as much a misuse of the technology as using tables for divisions.

Good web design is about using the proper design elements at the proper time. Reviewing Nick Rigby's comment: "We used to use tables, which worked well in this scenario—but forms don’t constitute tabular data, so it’s a semantic faux pas."

Nick Rigby and thousands of web designers have put themselves through a great deal of brain damage on the false premise that forms are not tabular data. For that matter, I contend that the reason forms and tables worked so well together is because forms are tabular in nature.

I wish I could get back all the time I wasted looking for ways to program forms without tables.

Wednesday, April 04, 2007

Activists in Power

I think one of our biggest problems with politics is that people keep redefining terms. The April 4th Cato Podcast is a good example of the confusion that comes when people try to unilaterally change terms. In this podcast, Clint Block tries to argue for increased judicial activism. Clint Block wants jurists who actively strike down unconstitutional laws.

Apparently, Clint Block wants to replace the progressive-activists with conservative activists. While the statement is provocative, it also ends up mucking with accepted definitions.

The problem, of course, is that when you have this wholesale mucking with definitions, you end up destroying the ability of people to talk about an issue.

The current Wikipedia definition of activism is: "Activism, in a general sense, can be described as intentional action to bring about social or political change."

IMHO, what we want is a government where people are actively doing their job. A supreme court judge who is actively doing the job would be challenging the Constitutionality of new laws. Acting within one's own sphere of influence really is not activism. An activist-conservative is an oxymoron. A Supreme Court Justice who is actively defending the Constitution is not being an activist. Such a person is just being active.

It seems to me that many of the greatest problems of our day arise from political leaders who try to influence issues that fall outside their sphere of authority. In this regards, some of the greatest frustrations of George Bush is that he keeps trying to expand the authority of the executive into areas that people think is inaproriate. Even worse, he seems to be trying to expand the authority of the executive while failing to act on issues that people think require presidential action.

Bush has pushed courts aside in areas that people think a court's involvement is needed. Likewise, we see more and more legislation coming from the executive without sufficient debate or input from Congress.

I find Congress guilty of the same sin. Congress has a nasty habit of relinquishing in legislative authority to the executive and to the courts. Our Congressmen seem to spend most of them time performing administrative tasks in the form of constituent services and earmarked legislation. Congressmen love to globetrot and dabble in diplomacy in the form of fact finding missions. Even worse, it appears at times that the favorite act of Congress is to haul individuals and companies before Congress for political judgments in the form of Congressional inquiries.

The insatiable desire of politicians to act outside their sphere of influence has created a bastardized government where our judges spend their day making up and administering laws, our Congressmen spend their days micromanaging government and judging in Congressional inquiries, and our executive writes the majority of legislation and selectively obeys and ignores laws.

Our politicians seem to be driven by an insatiable desire to act outside the sphere of their influence.

Perhaps, much of the shrillness in Washington is a result of public servants who fail to do their jobs while running off on crusades to do other people's jobs.

Most of the Cato Podcasts are worthwhile. I am filing Clint Block's call for Libertarian-Activist judges as something that just muddles the debate. The world is in dire need of judges who understand their role and who actively engage in that role. The last thing we need is a new slate of judges seeking to use the courts as a pulpit to actuate social change.

I think one of the few positive things to happen in the Bush Administration is that Bush made a legitimate stab at nominating jurists who were interested in maintaining the integrity of the court, and not simply interested in pushing a conservative agenda.

Long Object

I am behind on everything. Anyway, I was wanting to write a program to calculate the check sum for an ISBN13 code. As book lovers know, on January of this year, ISBNs went from 10 digits to 13 digits. It would make sense to write the program as an object. With an object, you would store the ISBN number and extract either the 10 or 13 digit version of the number.

The site has a nicely written PHP Object for ISBNs. This is an example of very well written code; However, it strikes me that this well written code is over 1500 lines!

The size of the code doesn't matter for compiled languages like Java and C++. The problem with a scripting language like PHP is that you have to compile it with each call. In a typical year, this object would be called and compiled several hundred million times. I am left scratching my head wondering if I should write "well written" code; or go for speed. The object would be running on a crowded shared server.

I am really caught in a quandry: Should I write good code or should I write fast code? How big of a hit do I get for using 1500 line objects opposed to short procedures that take maybe 80 lines.

The fact that there seems to be a dichotomy between good and fast strikes me as wrong.

Back to my rant on Unicode. An ISBN is simply a number. You can represent a 13 digit number with a 44 digit binary string. If I am using a 64 bit unicode character set to store the ISBNs, I would need 832 bits to store each ISBN. When I store this ISBN as a string in a database, the size of the key is almost twenty times the size that I really need. This does not matter for the majority of applications. When you get into something where you get into analyzing data, inefficiencies stack up. For example, if you were working on a database that recorded crossreferencing in books, you could very quickly end up with lists of millions of ISBNs.

Yes, I know that the 1500 line program is well written. It is better than anything I ever write, but my brain keeps screaming at me the word "efficiency"! The ISBN is just one tiny element that I have on pages. If I wrote everything in good style, my programs would be 80,000+ lines of code in size.

I neither want to write nor maintain code that is that long. What I want is code that lets me express the actual logic needed for a task in the cleanest, most efficient manner possible. In other words: I am a dinosaur headed for extinction.

Monday, April 02, 2007

iTunes + EMI

This is good news: reports that iTunes will soon list the Beattles songs. The price of these songs will be $1.29. I think the price is outrageous; however, I would love to see elastic prices on iTunes. The idea that every song is worth the same price ($0.99) is ridiculous. Price elasticity is one of the primary components of the free market. I would love to see this market get to the point where we had different media coming at us from different channels (with artists and studios having enough control over distribution that the market doesn't devolve into a free for all where artists are incapable of selling their wares.)

I do not believe you can derive a perfect copyright law from the aether. Markets really need the flexibility to experiment with different ideas. The Napster ideal was that, if you could get your hands on media, you should be able to republish it. Napster destroyed the flexibility to experiment with different pricing schemes. All music, movies and media would become free the moment someone republished the music by dragging it into their Napster directory.

The pendulum swung to excessively restrictive DRM. Hopefully, we can find a sane balance where common sense fair use restrictions apply. The interest has created a situation where we are all publishers ... however, we should have respect for the creators of content.

Apparently part of the reason for the $1.29 price is that the EMI songs will have a higher quality and not include DRM. It is great that we are seeing groups differentiate their products on multiple levels.

In this regard I actually prefer the Movielink model to iTunes. MovieLink includes two levels for their products. You can "rent" a movie online. A rented movie automatically deletes itself after a set period of time. You pay more and buy a movie. You get to keep the bought movie forever. It still has the hassles of DRM.

AD: Speaking of downloading movies (ahem) You can download Monk. Monk is the first show since Get Smart that is worth watching.

If We All Held Still

Shhh, don't move.

If we all held still, perhaps we could stop the world from changing.

A group named "Physicians for Utah" is pushing for lower speed limits and more Trax style mass transit (despite the fact that we would need more generating capacity for more electic trains.) Environmental indignation should get people to move slower.

The Supreme Court just passed a silly rule that we need to regulate CO2 separately. Every single molecule of carbon that gets pumped or mined from the ground goes from the state of being subterranean to surface pollutant. I agree with previous environmental efforts that saw pushing fuel efficiency has been and continues to be the best direction for decreasing greenhouse gasses. We need conservation, not regulation.

A young Utahn named Schreiner is so full of hatred that it appears that he is going insane. The Democratic Party's concerted effort to gain power through hatred of Bush alone is really messing people up. I remember how much I hated Reagan. Notice in this post how Schreiner takes a statement that Cache Valley had their worst inversion ever to a broader statement that Utah had the worst inversion ever. Cache Valley's problem is that a very large number of people have moved into a valley that cannot handle its current population. I understand that much of the increased population is from immigration of the illegal variety. Logan has a very severe local pollution problem. This problem was noted from the days of the first trappers in the region who found out that they had to live with the same air all winter. It is one of the rare cases where the air pollution problem is local. Their current problems aren't driven by more intensive industries, but by shear population.

On a positive front, U.S. House Speaker Nancy Pelosi is on her way to Syria. After all, we* and Syria share a common enemy ... President George Bush. With the idea that the enemy of my enemy is my friend, an alliance of the Democratic Party, Syria, Iran and Venezuela makes since.

*I put an apostrophe next to "we" as "we" is a weird word. The term "we" refers to the Democratic Party and those further left. People who are not part of that group belong to a group called "you" or "them." It is simple to remember: "We" refers to the peoples. Remember, there "i" in "we." It just so happens that I am not part of "we."

I know, in classical grammar, the first person singular was considered part of the first person plural. In new speak you will see articles spouting "we" "we" "we." But you have to know that in lefty speak "we" is not an inclusive "we." There is generally a political judgment placed on the inclusion of the we.

I dislike a great deal of what George Bush has done. I hate that Bush has not made more efforts on the diplomatic front, but I am seeing more and more of the wisdom of the structure of the Constitution that put foreign negotiation power in the hands of the executive. The problem is that Pelosi's primary political enemy is George Bush. When you start having the party leaders run off to negotiate separately with hostile enemies of the United States, you can't help but wonder who the "we" is.

What's in the Pet Food?

Newman's OwnSince Coco's pet food was recalled; I decided to score her a bag of quality treats. I grabbed a bag of Newman's Own peanut butter treats. So, what do I find inside ... a baggie with indelible ink writing; probably dropped by a quality control expert who was biding his time on the assembly line while waiting for that break that would make him a pet-food-company-owning movie star.

With melamine (a plastic making chemical) found in wheat gluten and stay bits of this and that in the dog treats, one really starts to wonder what is going on in all of the big food companies. Everyone seems to have diverted their eyes from the quality of the product to the marketing.

The human food industry is probably just as bad as the pet food industry. With accountants squeezing the margins on all products, I suspect that the whole produced food industry is marching in step on the way to a major quality disaster in the human food supply. The agri-giants messed up the Spinach and lettuce last year.

I think the real lesson of the pet food scare is that the supposedly competitive brands of pet foods on the shelves really are little more than different marketing efforts from a very small inbred group of companies.

I wish we had smaller companies run by entrepreneurs who really cared about what they were doing. Instead, we have all of these wanks who are trying to apply Sun Tzu's philosophy on war to business. The end result is a few companies that dominate and that put us at a graver risk than we would have if we had small independent firms.