OpenCube Menu Creator

Check out OpenCube: Professional Site Navigation Software. I am sure that this is old news for some, but I recently came across this site. It is a web-based app that allows you to create CSS/JavaScript menus. While the menus are not that aesthetically polished or sophisticated, and the GUI itself is very cumbersome, there is a lot there that you can explore for coding examples and ideas. If you are checking out other code and see id=”qm0″, class=”qmmc”, class=”qmparent”, (anything prefixed with “qm…”), you are looking at OpenCube code.

Oh, and their .js is minified, but you know how to fix that

CMS Envy

I was watching a lynda.com video and they mentioned CMS Matrix.

WOW! A GREAT resource for researching all of the content management systems available (they list over 1200). I mean, seriously… I had NO idea that there was so much CMS. Definitely check it out if you are researching CMS. (obviously, Drupal, Joomla, and WordPress are the Big Three).

Regardless, I still think that, if, and this is a BIG if, if you have the coding knowledge, then building your own CMS is the way to go. No need to compromise. Again though, this is not at the fingertips of most.

Jakob Nielsen’s Alertbox

Jakob Nielsen is considered the guru of web usability. He writes a bi-weekly column called Alertbox: Jakob Nielsen’s Newsletter on Web Usability. There is definitely some good reading.

His Amazon.com biography, in case you do not know his background…
Jakob Nielsen, Ph.D. is a principal of Nielsen Norman Group. He is the founder of the “discount usability engineering” movement, which emphasizes fast and efficient methods for improving the quality of user interfaces. Nielsen was noted as “the world’s leading expert on Web usability” by U.S. News and World Report and “the next best thing to a true time machine” by USA Today. Nielsen’s Alertbox column on Web usability has been published on the Internet since 1995 and currently has about 200,000 readers. From 1994 to 1998, Nielsen was a Sun Microsystems Distinguished Engineer. His previous affiliations include Bell Communications Research, the Technical University of Denmark, and the IBM User Interface Institute. See his biography page at useit.com for additional biographical information.

How File Compression Works

I found a great article at How Stuff Works by Tom Harris explaining how file compression works – ironically titled “How File Compression Works”. It uses part of John F. Kennedy’s 1961 inaugural address to work you through the process. Very well articulated.

Now, rather than making me click through 6 pages of ads, I wish that they had compressed the article into one page.

Bah-dum-bump! Thank you. I will be here all week. (actually, “consolidate” is probably the better term.)

Minifying

I am sure that you have opened up someone’s .js or .css file and have found one looooooooong line of seeming gibberish.

This is “minifying”, also called “packing” or “compressed” (not to be confused with zipping or tarring a file).

Here are a couple of good unminifiers that I have been using in order to view someone’s code to see how they did something:
JavaScript Beautifier, and, Mr Coles CSS Unminifier.

Now, why would someone pack their code?
Well, the number one reason is to hide the source from prying eyes but, honestly, this is like using a twist-tie to lock your front door. Way too easy to override. Just see the above two links. Besides, the coder hiding their code probably learned a lot from dissecting others code. Seems a bit hypocritical, not to mention self-important. And you know what? It is a pain in the arse having to keep a packed and unpacked version and trying to keep them straight.

The second reason, which makes more sense, is to speed up parsing and execution. Does this work? No idea. You would really need some seriously controlled lab experiments to figure that out. Transfer speeds at home fluctuate way too much. There is no way that you could do a quantifiable test.

Regardless, here are a couple of good packers if you want to experiment…
Dean Edward’s JS Packer (the industry standard), and, CSS Compressor.

W3Schools, or W3Fools?

I received an interesting about.com newsletter this morning penned by Jennifer Kyrnin (of about.com) titled, Don’t be Fooled by W3Schools. Basically, the article is an alert not to trust the website, as it is riddled with inaccuracies.

Personally, I have used the site many times in the past for reference as it ALWAYS pops up in the top 5 in google search, but I have always wondered if they were part of the W3C.

They look like they could be…

It turns out that they are not, and there is even a website devoted to exposing “the fraud”, much like how “Operation Clambake” exposes Scientology. Check out w3fools.com.

If, indeed, W3Schools is nothing more than a University of Phoenix type of money grabbing operation (ie, the sale of diplomas), and they are passing along erroneous information, then yes, they should be called to task. After all, most of the people visiting the site are probably like me — not well-versed/confident enough to question the errors. Instead, we absorb and retain bad facts, and look stupid at the next job interview.

I am curious as to other peoples’ take…

isset() vs empty()

So…

My plan was to create a home page with a PHP navigation include which would, playing to the link clicked, send a value to the URL address bar, change the formatting of the proper section title in the nav, and then pull in the page matching that specific value.
Here was my original code:


if ($section==NULL)
{
$section = "ads";
}
else
{
$section = $_GET['section'];
}

This worked if the user was clicking from within, but NOT when then user first came to the page. That produced an error of
Notice: Undefined variable: section in...on line 17
So… I tried isset.


if (isset($section))
{
$section = "ads";
}
else
{
$section = $_GET['section'];
}

That did not work either. If the user had not clicked anything yet, the variable was not set, and testing for it produced an error.

Notice: Undefined index: section in...on line 20
Warning: require(pages/.html) [function.require]: failed to open stream: No such file or directory in...on line 25
Fatal error: require() [function.require]: Failed opening required 'pages/.html' (include_path='.;c:\php\PEAR') in...on line 25

Then google showed me the way:

if (empty($_GET))
{
$section = "ads";
}
else
{
$section = $_GET['section'];
}

This worked perfectly. It tested whether the user had clicked and populated $_GET. If not, it would go ahead and set the variable.

Brian Kernighan’s Hello World

(Picture of Brian Wilson Kernighan)

As I have completely overhauled my site, I thought it only fitting to begin with a Hello World post…

One of the very first things that a newbie learns is, “Hello World!” It is a tradition, a means of passage as one enters into the computing world. The first known version was from Brian Kernighan’s “Tutorial Introduction to the Language B”;, in 1972.
He wrote:


main( ) { 
  extrn a, b, c; 
  putchar(a); 
  putchar(b); 
  putchar(c); 
  putchar('!*n');
} 
a 'hell'; 
b 'o, w'; 
c 'orld';

In 1972, in an internal Bell Laboratories memo, he wrote, “Programming in C: A Tutorial”, containing:


main( ) { 
  printf("hello, world"); 
}

Feel free to comment with your language’s way of saying “Hello World”. I would love for this post to contain any way imaginable to say “Hello World”.