<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>JET Technical</title>
	<atom:link href="http://www.jettechnical.com/feed" rel="self" type="application/rss+xml" />
	<link>http://www.jettechnical.com</link>
	<description>Software Solutions</description>
	<lastBuildDate>Fri, 20 Jan 2012 17:05:13 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
<meta xmlns="http://www.w3.org/1999/xhtml" name="robots" content="noindex,follow" />
		<item>
		<title>PHP and Microsoft Excel</title>
		<link>http://www.jettechnical.com/php-and-microsoft-excel.htm</link>
		<comments>http://www.jettechnical.com/php-and-microsoft-excel.htm#comments</comments>
		<pubDate>Fri, 20 Jan 2012 15:37:59 +0000</pubDate>
		<dc:creator>Tamara Urry</dc:creator>
				<category><![CDATA[mainpage]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Open Excel using PHP]]></category>
		<category><![CDATA[PHP to Excel]]></category>

		<guid isPermaLink="false">http://www.jettechnical.com/?p=2087</guid>
		<description><![CDATA[PHP and Microsoft Excel I recently had a customer that required a report that could have been generated to HTML or PDF. However, what they really needed was information exported in a specific manner and format from their postgreSQL database for further analysis. HTML and PDF would not have given the flexibility to properly review [...]]]></description>
			<content:encoded><![CDATA[<h2>PHP and Microsoft Excel</h2>
<p><img style="float:left;margin:0px 7px 7px 0px;" src="http://www.jettechnical.com/wp-content/uploads/2012/01/phpexcel_logo.jpg" title="PHP and Microsoft Excel" alt="phpexcel logo PHP and Microsoft Excel" />I recently had a customer that required a report that could have been generated to HTML or PDF.  However, what they really needed was information exported in a specific manner and format from their postgreSQL database for further analysis.  HTML and PDF would not have given the flexibility to properly review the data.</p>
<p><span id="more-2087"></span></p>
<p>Many times I&#8217;ve used Microsoft Office with .net products but had not done so with php.  Thanks to CodePlex this was a very simple task.  I have to say that their interface and methods are so much easier than anything .NET has come up with.  There is a great deal of documentation and online information so you aren&#8217;t left hanging.  I had this set up and creating my first automated excel report in under 30 minutes.</p>
<ol>
<li>Download the latest production version of <b>PHPExcel</b> from http://phpexcel.codeplex.com
<li>Follow the installation steps
<li>The installation will include a folder named &#8220;Tests&#8221;.  Copy (don&#8217;t move) this folder to the directory you run php from.  For me it was c:/inetpub/wwwroot/Tests.
<li>Try it out&#8230;open a browser (I use FF) and pointing to the test directory open the php example 01simple-download-xls.php.
<p>If you have your computer set up to run php locally under wwwroot, the url would be<br />&nbsp;&nbsp;&nbsp;&#8221;http://localhost/Tests/01simple-download-xls.php&#8221;</p>
</ol>
<p>That was it.  This folder has all the examples you will need for formatting your spreadsheets.  They&#8217;ve added some extensive interface support including image placement, text rotation, and security.  There is even an extensive manual with all of the methods available, tips on how to best use the methods, and example code snippets.</p>
<p>Unlike the .net approach, PHPExcel goes back to the basic coordinate reference methodology that Microsoft abandoned (for some unknown and definitely not good reason).  To do something with the first cell you reference by Column / Row pair.  (&#8220;A1&#8243;) just as you do with VBA.  If you are familiar with Visual Basic for Applications, then this code syntax will not seem foreign at all.</p>
<p>Here&#8217;s an example of opening a worksheet and adding some text, saving as a tmp, and opening for view</p>
<p><block><code><br />
/** PHPExcel */<br />
require_once 'Classes/PHPExcel.php';<br />
// Create new PHPExcel object<br />
$objPHPExcel = new PHPExcel();<br />
$modifiedby = $auth->getUserName();<br />
// Set properties<br />
$objPHPExcel->getProperties()->setCreator("JET Technical, Inc.")<br />
	->setLastModifiedBy($modifiedby)<br />
	->setTitle('MS Excel by way of PHP')<br />
	->setDescription('Opening Excel from PHP');</p>
<p>//entire page font is times new roman<br />
$objPHPExcel->getActiveSheet()->getStyle('A1:Z100')->getFont()->setName('Times New Roman');<br />
// Add some column headers<br />
$objPHPExcel->setActiveSheetIndex(0)<br />
            ->setCellValue('B1', 'Customer')<br />
            ->setCellValue('C1', 'Address')<br />
            ->setCellValue('D1', 'Phone')<br />
            ->setCellValue('D1', 'Phone Type')<br />
;<br />
//now add some data - you can do this individually rather than the array approach used for the column headers.<br />
//customer name<br />
$objPHPExcel->setActiveSheetIndex(0)->setCellValue('B2', 'Jane Doe');<br />
//customer address<br />
$objPHPExcel->setActiveSheetIndex(0)->setCellValue('C2', '123 Sesame Street, New York, NY  12345');<br />
//phone number<br />
$objPHPExcel->setActiveSheetIndex(0)->setCellValue('D2', '(000) 000-0000');<br />
//phone type<br />
$objPHPExcel->setActiveSheetIndex(0)->setCellValue('E2', 'Office');</p>
<p>//wrap the text example<br />
$objPHPExcel->getActiveSheet()->getStyle('A1')->getAlignment()->setWrapText(true);<br />
//make it landscape orientation<br />
$objPHPExcel->getActiveSheet()->getPageSetup()->setOrientation(PHPExcel_Worksheet_PageSetup::ORIENTATION_LANDSCAPE);<br />
// Redirect output to a client’s web browser (Excel2007) - I use this with Excel2010<br />
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');<br />
header('Content-Disposition: attachment;filename="temp.xlsx"');<br />
header('Cache-Control: max-age=0');</p>
<p>$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');<br />
$objWriter->save('php://output');//this saves the temp file<br />
</code><br />
</block></p>
<p>Thank you Code Plex contributors!</p></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jettechnical.com/php-and-microsoft-excel.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Speghetti Code or Proper Refactoring. Where&#8217;s the line?</title>
		<link>http://www.jettechnical.com/speghetti-code-or-proper-refactoring-wheres-the-line.htm</link>
		<comments>http://www.jettechnical.com/speghetti-code-or-proper-refactoring-wheres-the-line.htm#comments</comments>
		<pubDate>Mon, 14 Nov 2011 23:41:42 +0000</pubDate>
		<dc:creator>Tamara Urry</dc:creator>
				<category><![CDATA[Classes]]></category>
		<category><![CDATA[coding best practices]]></category>
		<category><![CDATA[proper refactoring]]></category>
		<category><![CDATA[speghetti code]]></category>

		<guid isPermaLink="false">http://www.jettechnical.com/?p=2064</guid>
		<description><![CDATA[I posted this question to one of my groups in Linked In. The response was so incredible and most of the answers were right on so I thought I&#8217;d share. This particular subject is quite a hot button with programmers. So use it either as a guideline for your own coding or remember when you&#8217;re [...]]]></description>
			<content:encoded><![CDATA[<p>I posted this question to one of my groups in Linked In.  The response was so incredible and most of the answers were right on so I thought I&#8217;d share.</p>
<p>This particular subject is quite a hot button with programmers.  So use it either as a guideline for your own coding or remember when you&#8217;re referring to another programmer&#8217;s code that not all great minds think alike!</p>
<p><strong>Response 1</strong><br/><br />
Thanks @Tamara, I just waded past 6 jobs to get to a real discussion.</p>
<p>You&#8217;re right&#8230; Refactoring is a great way of encapsulating blocks of code that are used more than once&#8230; I find it useful for class and implementing algorithms that I need to use in several places.</p>
<p>My unfortunate bad habit is to throw them all into a &#8220;growing&#8221; helper static class. This is a habit that I need to break&#8230; Mind you, its a really really useful static class&#8230; </p>
<hr/>
<p><strong>Response 2</strong><br/><br />
I believe it&#8217;s okay to throw it out there (just write the code) and then go back to refine &#8220;refactor&#8221;. Practice and experience will help you get to a point where you recognize what needs to be drawn out up front.</p>
<p>Maintainability, solid foundations, base classes etc&#8230; It all makes sense.</p>
<p>So I&#8217;ll throw a question out there. What would you consider OVER the top on refactoring? Does it make sense in some situations to have the same function (or functionality) in multiple places? You know I&#8217;m finding this more of an art form rather than a hard and fast rule.</p>
<hr/><br/><br />
<strong>Response 3</strong><br/><br />
I was going over some code today, and in the process of refactoring, (also had .NET reflector going), I managed to discover that while I was adding functionality, I was eliminating large blocks of code.</p>
<p>When/if you use generic functions, you may find that you can combine several functions together into a smaller set of functions that you will reuse in multiple places.</p>
<p>The function in question used the ability to casting an ExpandoObject to a KeyValuePair collection, and then have the choice of accessing the properties directly (via the expando), or via their name as a string (via the KeyValuePair). Previously, there were functions spread through the code that managed a few properties here and there. With the cast, these bit of code got condensed to a simple set of functions.</p>
<p>Sometimes, the more complex way is better. </p>
<hr/><br/></p>
<p><strong>Response 4</strong><br/><br />
Just to go back to your original question @Tamara, speghetti code is what I call sticking plaster code. This is code that the developer piles on top of code to quick fix bugs and functionality problems &#8211; covering over the cracks rather than restructing (refactoring) the code to do the job. I think you&#8217;re right about the skeptical attitude of &#8216;uniformed&#8217; programmers to refactoring as traditional non-agile development methods really discourage any form of code rewriting. The attitude seems to be, &#8220;you have the functional and techical specifications so why can&#8217;t you get the code structure right first time&#8221;.</p>
<p>To me refactoring is an art form. Its a bit like being a writer who picks over every sentence to create a flowing paragragh. There&#8217;s a great deal of satisfaction to be had by creating that elegant piece of code in which every object has a clear function and no code is unnecessarily repeated &#8211; SoC &#038; DRY music to my ears <img src='http://www.jettechnical.com/wp-includes/images/smilies/icon_smile.gif' alt="icon smile Speghetti Code or Proper Refactoring. Wheres the line?" class='wp-smiley' title="Speghetti Code or Proper Refactoring. Wheres the line?" /> . However, unlike art commercials do have an impact and sometimes, as you have both eluded to, its fine to have some rough edges.</p>
<hr/><br/></p>
<p><strong>Response 5</strong><br/><br />
I agree. Especially in terms of &#8220;agile&#8221;, &#8220;reviewing what can be refactored&#8221;, &#8220;art form&#8221;.</p>
<p>It&#8217;s definitely all of the above. One other point I&#8217;d like to add as to the benefits is maintainability! I strive for dynamic code that can be used in multiple ways by merely passing a variable. Also, looking at objects and moving repetitive actions to a base object that all can be derived from.</p>
<p>I love cast! if it&#8217;s null &#8211; then just go on and ignore.</p>
<p>I agree on the rough edges but if you&#8217;re working on a large, scalable, enterprise application &#8211; they can come back later to really bite you. However, sometimes, the business demands just don&#8217;t allow for the time to write clean code.</p>
<p>Getting the structure right the first time takes practice. BUT you have to be willing to practice! </p>
<hr/><br/></p>
<p><strong>Response 6</strong><br/><br />
Perhaps the most important point that I missed from my previous posting was the need to have error checking built into the code, for example, asserting that method parameters are valid before carrying out the task. As you say @Tamara in a large enterprise application problems really cause issues and if they can&#8217;t be traced easily they are very costly to resolve. Code Contract appear to tackle this issue although I do not have any personal experience using them. </p>
<hr/><br/></p>
<p><strong>Response 7</strong><br/><br />
I like to think that a properly written enterprise application can be easily broken down into smaller pieces without the entire infrastructure falling apart.</p>
<p>Proper refactoring can help here ( my opinion ). But!!!! This brings me back to the original question of how much refactoring is too much and when does it actually turn in to junk?</p>
<p>You know if you refactor it all out to the point where you can&#8217;t take individual object out and use as a semi stand alone then don&#8217;t you really have a monster made like a jigsaw puzzle with lots of little pieces? And if that&#8217;s the case, what has it accomplished?</p>
<p>Some programmers take this to the far extreme where every little bit is placed in library files, compiled and then referenced back in an application. Commonly referred to as &#8220;DLL Hell&#8221; &#8211; something I hope never to experience again. </p>
<hr/><br/></p>
<p><strong>Response 8</strong><br/><br />
From Wikipedia, a good definition . Spaghetti code is a pejorative term for source code that has a complex and tangled control structure, especially one using many GOTOs, exceptions, threads, or other &#8220;unstructured&#8221; branching constructs. It is named such because program flow tends to look like a bowl of spaghetti, i.e. twisted and tangled. Spaghetti code can be caused by several factors, including inexperienced programmers and a complex program which has been continuously modified over a long life cycle. Structured programming greatly decreased the incidence of spaghetti code. </p>
<hr/><br/></p>
<p><strong>Response 9</strong><br/><br />
I just wonder if, following the pasta theme, that we should call over refactored code (as @Tamara describes) as ravioli code &#8211; lots of wrapped up pieces floating in a opaque sauce. Sorry it doesn&#8217;t take the discussion much further but I think the general point is that over indulgence in refactoring can have the same result as Spaghetti code. </p>
<hr/><br/></p>
<p><strong>Response 10</strong><br/><br />
If you can&#8217;t easily plug in various components into your code, then it&#8217;s not decoupled enough &#8211; and I&#8217;d characterize it as spaghetti code. Pick top 3 functionalities your code does, and ask how easy it is to swap them in/out. </p>
<hr/><br/></p>
<p><strong>Response 11</strong><br/><br />
Okay, this is fine&#8230; We now refactored the code, a few blocks here and there have been replaced with generic functions etc&#8230; Along comes the newbie&#8230; no idea of generics, LINQ or whatever makes the code better, and lays on another load of &#8220;conventional&#8221; pedesterian code over our refactored code&#8230; What do you do? </p>
<hr/><br/></p>
<p><strong>Response 12</strong><br/><br />
Hi, I&#8217;d like to take a non-technical view on this if I may.</p>
<p>You hired the newbie yourself? Then you certainly shouldn&#8217;t make it his problem. There are plenty of companies out there that haven&#8217;t reached a certain maturity level and still think they need precisely that kind of &#8216;pragmatic&#8217; developer. Fast growing startups, for instance.</p>
<p>Either invest in his training and get him up to your standards. Or invite your recruiting officer over for a cup of coffee and explain in great detail what kind of team member you&#8217;re looking for. Get all of your processes aligned: business, recruiting, development, maintenance etc. Even marketing, because of the shorter Time to Market.</p>
<p>Why? Because developing structured and maintainable code by applying refactoring will be perceived as a worthless theoretical exercise outside of the development team in the eyes of the unappreciating. Your development team will suffocate while having to justify all that &#8216;unnecessary&#8217; refactoring at every step of the way.</p>
<p>So unless you get your company&#8217;s processes aligned, they&#8217;ll just keep hiring newbies. Which means that at some time you should start wondering if it really is the newbie that&#8217;s out of place here:-) And to answer Tamara&#8217;s question: refactoring won&#8217;t cross the line that quickly if &#8211; in general &#8211; it stays in line with the company&#8217;s established processes.</p>
<p>Just a thought&#8230; </p>
<hr/><br/></p>
<p><strong>Response 13</strong><br/><br />
Your first code should follow at least some basic OO principles, writing the same function over and over in spaghetti code or creating god classes is something that isn&#8217;t justified because nowadays everyone coming out of college has being taught OO.</p>
<p>With that being said, you should never &#8211; ever consider refactoring before you have test coverage over the code you are about to refactor. That means knowing exactly what a class does and understanding it&#8217;s purpose, then writing down a full test coverage suite (unit test / integration tests) of the refactored class and making sure that everything passes before and after refactoring. </p>
<hr/><br/></p>
<p><strong>Response 14</strong><br/><br />
This is a great discussion. My rule of thumb is, when my code is used once, I would keep it &#8220;pedestrian&#8221; or &#8220;spaghetti&#8221; style. However, as soon as another chunk of code needs to use the same or even similar functionality, I would refactor it and place it either in an existing class or a new class, depending whether or not the functionality can be grouped with existing class. Now when someone else wrote the code, especially on large applications, this practice becomes more challenging because we&#8217;d never know where else a chunk of spaghetti code is used, if it is, unless we review the entire application just like Tamara said in the first place.</p>
<hr/><br/></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jettechnical.com/speghetti-code-or-proper-refactoring-wheres-the-line.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DocShare II Releases Today</title>
		<link>http://www.jettechnical.com/docshare-ii-release.htm</link>
		<comments>http://www.jettechnical.com/docshare-ii-release.htm#comments</comments>
		<pubDate>Tue, 11 Jan 2011 19:42:26 +0000</pubDate>
		<dc:creator>JET Technical</dc:creator>
				<category><![CDATA[Featured Story]]></category>
		<category><![CDATA[DocShareII]]></category>
		<category><![CDATA[DocShareII release]]></category>
		<category><![CDATA[Document Storage]]></category>
		<category><![CDATA[online document sharing]]></category>

		<guid isPermaLink="false">http://www.jettechnical.com/?p=2044</guid>
		<description><![CDATA[<h3>The newest version of DocShare was released today.</h3>
<p>This already popular software just got faster to run, easier to use, and with added security.</p>
<p>
Coming soon....<b>Online Live Demo</b><br/><br/>
<ul>
<li>One document, one storage place, multi-user</li>
<li>Looks are deceiving...to the user, a window's explorer but that's where the similarity ends.</li>
<li>One document, multi-level security controls</li>
<li>Document version control</li>
<li>Platform independent</li>
</ul>]]></description>
			<content:encoded><![CDATA[<h3>The newest version of DocShare was released today.</h3>
<p>This already popular software just got faster to run, easier to use, and with added security.</p>
<p>
Coming soon&#8230;.<b>Online Live Demo</b></p>
<ul>
<li>One document, one storage place, multi-user</li>
<li>Looks are deceiving&#8230;to the user, a window&#8217;s explorer but that&#8217;s where the similarity ends.</li>
<li>One document, multi-level security controls</li>
<p><span id="more-2044"></span></p>
<li>Document version control</li>
<li>Platform independent</li>
</ul>
<p><a href="http://www.jettechnical.com/contact-us" >Contact</a> our sales team for more details</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jettechnical.com/docshare-ii-release.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JQuery Horizontal Menu Example and Template</title>
		<link>http://www.jettechnical.com/jquery-horizontal-menu-example-and-template.htm</link>
		<comments>http://www.jettechnical.com/jquery-horizontal-menu-example-and-template.htm#comments</comments>
		<pubDate>Thu, 04 Nov 2010 17:41:40 +0000</pubDate>
		<dc:creator>Tamara Urry</dc:creator>
				<category><![CDATA[HTML]]></category>
		<category><![CDATA[Java Script]]></category>
		<category><![CDATA[horizontal sliding menu]]></category>
		<category><![CDATA[jquery menu]]></category>
		<category><![CDATA[jquery slidedown menu]]></category>

		<guid isPermaLink="false">http://www.jettechnical.com/?p=2042</guid>
		<description><![CDATA[<p>Thought I'd post this simple jQuery menu sample code for those of you just starting out in jQuery.</p>
<p>It's a very simplistic file and consists of 3 files and a reference to the actual jQuery javascript library. ]]></description>
			<content:encoded><![CDATA[<h2>Slider Menu Template</h2>
<p>This jQuery menu sample code is a very simplistic example consisting of 3 files and a reference to the actual jQuery javascript library.</p>
<p><a href="jquery.slider.menu.zip" target="_blank" >Download Example</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jettechnical.com/jquery-horizontal-menu-example-and-template.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The textarea tag and innerHTML and Firefox</title>
		<link>http://www.jettechnical.com/innerhtml-and-firefox.htm</link>
		<comments>http://www.jettechnical.com/innerhtml-and-firefox.htm#comments</comments>
		<pubDate>Tue, 02 Nov 2010 14:52:53 +0000</pubDate>
		<dc:creator>Tamara Urry</dc:creator>
				<category><![CDATA[HTML]]></category>
		<category><![CDATA[mainpage]]></category>
		<category><![CDATA[Firefox textarea innerHTML]]></category>
		<category><![CDATA[Firefox textarea value]]></category>
		<category><![CDATA[innerhtml and textarea]]></category>
		<category><![CDATA[textarea in Firefox not working]]></category>

		<guid isPermaLink="false">http://www.jettechnical.com/?p=2020</guid>
		<description><![CDATA[<strong>innerHTML</strong> is a common way to return the value of an html tag.  I was recently working with an AJAX / JQuery application and all was going well.  However, the &#60;u&#62;innerHTML method wasn't returning anything with a textarea tag&#60;/u&#62;.  All of the other values were coming through just fine with the identical code.]]></description>
			<content:encoded><![CDATA[<h2>innerHTML doesn&#8217;t work with the textarea tag in Firefox</h2>
<p><img style="margin-right: 7px; width: 110px; height: 110px; border: 2px solid #A12001; float: left;" src="http://www.jettechnical.com/wp-content/uploads/2010/11/html.jpg" alt="html The textarea tag and innerHTML and Firefox"  title="The textarea tag and innerHTML and Firefox" /><br />
<strong>innerHTML</strong> is a common way to return the value of an html tag.  I was recently working with an AJAX / JQuery application and all was going well.  However, the <strong>innerHTML method wasn&#8217;t returning anything with a textarea tag</strong>.  All of the other values were coming through just fine with the identical code.<br/><br/>Somewhere in the recesses of my memory I had recalled running in to this in the past (probably blocked out due to the pain!).<br/><br/>Anyway, a quick look on line and I remembered that innerHTML doesn&#8217;t work with Firefox.  To return the text in a textarea tag, use the <strong>value</strong> reference instead.<br/><br/><strong>use-></strong>&nbsp;&nbsp;var myText = document.getElementById(&#8216;myTextArea&#8217;).value;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jettechnical.com/innerhtml-and-firefox.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>VMware&#8217;s ESXI Hidden Service Console</title>
		<link>http://www.jettechnical.com/vmwares-esxi-hidden-service-console.htm</link>
		<comments>http://www.jettechnical.com/vmwares-esxi-hidden-service-console.htm#comments</comments>
		<pubDate>Wed, 13 Oct 2010 02:15:33 +0000</pubDate>
		<dc:creator>Karson</dc:creator>
				<category><![CDATA[Networking]]></category>

		<guid isPermaLink="false">http://www.jettechnical.com/?p=2011</guid>
		<description><![CDATA[As anyone that has worked with VMware&#8217;s ESXI Server they know that the service console has been stripped out (unlike the ESX version). There are many benefits to this – fewer patches, less overhead, and greater security. With ESXI, the “console” as it&#8217;s called, is a simple yellow and black menu driven text interface with [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_2014" class="wp-caption alignleft" style="width: 160px"><a href="http://www.jettechnical.com/wp-content/uploads/2010/10/vmware.jpg"><img class="size-thumbnail wp-image-2014" title="ESXI Hidden Service Console" src="http://www.jettechnical.com/wp-content/uploads/2010/10/vmware-150x150.jpg" alt="vmware 150x150 VMwares ESXI Hidden Service Console" width="150" height="150" /></a><p class="wp-caption-text">ESXI Hidden Service Console</p></div>
<p>As anyone that has worked with VMware&#8217;s ESXI Server they know that the service console has been stripped out (unlike the ESX version). There are many benefits to this – fewer patches, less overhead, and greater security. With ESXI, the “console” as it&#8217;s called, is a simple yellow and black menu driven text interface with only the most basic options. However, ESXI actually has a thin linux-based console that can be accessed with a little &#8220;know how&#8221;.</p>
<p>To get the fine print out of the way:&#8211;Officially, VMware says that you should administer your ESXI server using either the GUI VI Client or the CLI VMware RCLI, and you should only be administrating your ESXI server through the Hidden Service Console if you are on the phone with VMware&#8217;s Technical support. Because of this, neither VMware nor I can make any warranties if, by using this interface, something unexpected happens to your ESXI Server. Because of that, you should only do this on a TEST system. Ok, now that that&#8217;s over, let&#8217;s keep going.</p>
<p>There is another CLI interface for ESXI that can be used to run commands directly on the server (the Hidden Service Console. This is in contrast to RCLI where the command is run on your local management PC and connects to the ESXI host over the network. The difference is that with RCLI, you cannot, edit a remote file as you could do if you were using the traditional ESX Server service console.</p>
<p>Because of this, the only way to edit a file like /etc/hosts or /etc/inetd.conf is to access this hidden &amp; unsupported thin linux interface and edit these files with vi. Also, with the ESXI hidden console, you can run commands like esxtop, vmkfstools, and esxcfg-route.</p>
<p>Accessing the hidden &amp; unsupported ESXI console is not difficult. However, if you do not know how to do it, there is no menu option or easily accessed help file that tells you how to access it. (hence the &#8220;Hidden&#8221; word I keep saying)</p>
<p>To access the hidden &amp; unsupported ESXI console, you must go to the console of the server. You cannot access this console via RCLI, RDP, the VI client, or other method. The only way to access the ESXI console is to go to the console of the server.</p>
<p>Once you are on the server’s console, press Alt-F1.</p>
<p>At that point you will see a console log of what has happened on the server but there is no prompt and no help file available. If you type something, it will not appear on the screen.</p>
<p>Next, type the command unsupported and press enter. Again, this will not appear on the screen.</p>
<p>This activates what VMware called “Tech Support Mode.</p>
<p>Now, type your ESXI Server root password.</p>
<p>At this point, you are successfully logged into the hidden ESXI console.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jettechnical.com/vmwares-esxi-hidden-service-console.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows XP Registry Hacks</title>
		<link>http://www.jettechnical.com/windows-xp-registry-hacks.htm</link>
		<comments>http://www.jettechnical.com/windows-xp-registry-hacks.htm#comments</comments>
		<pubDate>Thu, 26 Aug 2010 14:43:23 +0000</pubDate>
		<dc:creator>Karson</dc:creator>
				<category><![CDATA[Networking]]></category>

		<guid isPermaLink="false">http://www.jettechnical.com/?p=1997</guid>
		<description><![CDATA[Now I know that Windows XP is headed out and on the down side of being supported. Though I recently found this great website that will show you how to do just about anything you want to do when it comes to tweaking Windows XP http://www.kellys-korner-xp.com/xp_tweaks.htm]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.jettechnical.com/wp-content/uploads/2010/08/tweak1.jpg"><img class="size-full wp-image-2001 alignleft" title="tweak1" src="http://www.jettechnical.com/wp-content/uploads/2010/08/tweak1.jpg" alt="tweak1 Windows XP Registry Hacks" width="100" height="100" /></a>Now I know that Windows XP is headed out and on the down side of being supported. Though I recently found this great website that will show you how to do just about anything you want to do when it comes to tweaking Windows XP</p>
<p><a href="http://www.kellys-korner-xp.com/xp_tweaks.htm">http://www.kellys-korner-xp.com/xp_tweaks.htm</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jettechnical.com/windows-xp-registry-hacks.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>jQuery Selectors</title>
		<link>http://www.jettechnical.com/jquery-selectors.htm</link>
		<comments>http://www.jettechnical.com/jquery-selectors.htm#comments</comments>
		<pubDate>Tue, 17 Aug 2010 21:50:13 +0000</pubDate>
		<dc:creator>Trent Egbert</dc:creator>
				<category><![CDATA[mainpage]]></category>

		<guid isPermaLink="false">http://www.jettechnical.com/?p=1969</guid>
		<description><![CDATA[One of jQuery's specialties is letting you select page elements so you can work with them. Selecting page elements is a big part of online work. In jQuery your able to select by descendants, by children, by specific text, by attribute, by attribute value, and even by position all by just one simple line of code changed based on what your selecting.]]></description>
			<content:encoded><![CDATA[<h2>jQuery Selectors</h2>
<p><img style="margin-right: 7px; width: 110px; height: 110px; border: 2px solid #A12001; float: left;" src="wp-content/portfolio-gallery/images/jqueryFun.jpg" alt="jqueryFun jQuery Selectors"  title="jQuery Selectors" />What is jQuery? If you haven&#8217;t heard of jQuery or had a chance to check it out you really should. jQuery is designed to change the way that you write JavaScript.</p>
<p>Using Visual Quickstart Guide&#8217;s jQuery book makes things really simple and easy to understand. For those of you who don&#8217;t know jQuery is a JavaScript library that simplifies coding a lot. Because of some of the function in the jQuery library code that used to take up a quarter of the page can be simplified into 1 or 2 simple lines. On top of that there are some other really cool features that are a part of jQuery.<span id="more-1969"></span></p>
<p>One of jQuery&#8217;s specialties is letting you select page elements so you can work with them. Selecting page elements is a big part of online work. Until now almost all selection capabilities involved the getElementByID(), getElementsByName(), or some type of for each statement which all work but are limited, time consuming and take unnecessary overhead. jQuery on the other hand goes above and beyond these methods. In jQuery your able to select by descendants, by children, by specific text, by attribute, by attribute value, and even by position all by just one simple line of code changed based on what your selecting.</p>
<p>For example lets say I want select all the elements with a language attribute of Portuguese. In JavaScript the only way to do this would be to add an ID tag on each and every element with the language attribute of Portuguese, which may not seem like that big of deal but if you didn&#8217;t add it when you first programmed, it can be. In jQuery all I have to do is add this line of code:</p>
<h3>$(&#8216;p[language=''Portuguese']&#8216;)</h3>
<p>and then add the function or whatever action I want it to run. While it may not make things shorter it sure does simplify.<br />
One of the most powerful selectors in my opinion is the &#8216;checked selector, which lets you select checked check boxes and selected radio buttons. Using this you can tell which elements are checked and which aren&#8217;t rather than the cumbersome &#8220;if value checked or if true&#8221; logic required prior to jQuery.<br />
Here&#8217;s a quick example:</p>
<h3>
Function count()<br />
{<br />
alert(&#8220;You checked &#8221; +<br />
<span style="background-color: #FFFF00">$(&#8220;input:checked&#8221;)</span>.length +<br />
&#8221; items.&#8221;);<br />
}<br />
</h3>
<p>By entering this in a script tag and using the checked selector I can see how many check boxes were selected. The selectors in jQuery make it much easier to work online. I&#8217;ve talked about a few selectors here but there are so many more built into jQuery giving you a variety of ways to select elements.</p>
<p>If you&#8217;re looking for a good book on jQuery you should check out <strong>Visual Quickstart Guide jQuery</strong> by <em>Steven Holzner</em>. Its provides a bunch of good examples.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jettechnical.com/jquery-selectors.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress announces end of support for PHP4 and MySQL4</title>
		<link>http://www.jettechnical.com/wordpress-announces-end-of-support-for-php4-and-mysql4.htm</link>
		<comments>http://www.jettechnical.com/wordpress-announces-end-of-support-for-php4-and-mysql4.htm#comments</comments>
		<pubDate>Wed, 28 Jul 2010 12:56:48 +0000</pubDate>
		<dc:creator>Tamara Urry</dc:creator>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[mySQL version 4]]></category>
		<category><![CDATA[php version 4]]></category>
		<category><![CDATA[wordpress not supporting version 4]]></category>

		<guid isPermaLink="false">http://www.jettechnical.com/?p=1915</guid>
		<description><![CDATA[This announcement was released last Friday on the WordPress.org site by Mark Jaquith. PHP 4 and mySQL 4 will no longer be supported after the 3.1 release of WordPress coming in September 2010. PHP 4 and MySQL 4 End of Life Announcement]]></description>
			<content:encoded><![CDATA[<p>This announcement was released last Friday on the WordPress.org site by Mark Jaquith.  PHP 4 and mySQL 4 will no longer be supported after the 3.1 release of WordPress coming in September 2010.</p>
<p><a href="http://wordpress.org/news/2010/07/eol-for-php4-and-mysql4/" target="_blank" >PHP 4 and MySQL 4 End of Life Announcement</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jettechnical.com/wordpress-announces-end-of-support-for-php4-and-mysql4.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows Presentation Format</title>
		<link>http://www.jettechnical.com/windows-presentation-format-how-do-i-videos.htm</link>
		<comments>http://www.jettechnical.com/windows-presentation-format-how-do-i-videos.htm#comments</comments>
		<pubDate>Sun, 18 Jul 2010 05:14:34 +0000</pubDate>
		<dc:creator>Tamara Urry</dc:creator>
				<category><![CDATA[.NET Platform]]></category>
		<category><![CDATA[Featured Story]]></category>
		<category><![CDATA[.NET video tutorials]]></category>
		<category><![CDATA[How do I videos]]></category>
		<category><![CDATA[WPF]]></category>
		<category><![CDATA[wpf tutorials]]></category>

		<guid isPermaLink="false">http://www.jettechnical.com/?p=1771</guid>
		<description><![CDATA[<h3>Getting ahead with WPF</h3>
<p>For those of you who haven't taken the time to explore WPF, you should definately put this at the top of your "to do" list as it becomes more widely held as a programming standard.</p>
<p>Windows Presentation Foundation (or WPF) is a graphical subsystem for rendering user interfaces in Windows-based applications. WPF, previously known as "Avalon", was initially released as part of .NET Framework 3.0.  Since that time it has become a widely held as a programming standard.  Silverlight utilizes WPF to provide embedded web controls similar to Adobe Flash,
</p>]]></description>
			<content:encoded><![CDATA[<h3>Getting ahead and getting acquainted with WPF</h3>
<p>For those of you who haven&#8217;t taken the time to explore Windows Presentation Format, you should definitely put this at the top of your &#8220;to do&#8221; list.  It will be time well spent.  WPF is fast becoming widely held as an industry standard and I would venture to say that it will be used in the near future to build other development tools upon.  </p>
<p>Windows Presentation Foundation (or WPF) is a graphical subsystem for rendering user interfaces in Windows-based applications. WPF, previously known as &#8220;Avalon&#8221;, was initially released as part of .NET Framework 3.0.  Since that time it has become widely held as a programming standard.  Microsoft Silverlight utilizes WPF to provide embedded web controls similar to Adobe Flash.
</p>
<p>Whether you&#8217;re looking at it from a beginner&#8217;s point of view or just needing a reference, I highly recommend reviewing these free videos created by Microsoft.  They are well worth the time and are presented in such a way that they can be viewed independently as references or as a step by step learning tool.  These videos also have accompanying forums where viewers may ask questions regarding the video content.</p>
<h3>Here is the Microsoft description of the videos from the site&#8230;</h3>
<p>The Microsoft Windows Presentation Foundation (WPF) provides the foundation for building applications and high fidelity experiences in Windows Vista, blending together application UI, documents, and media content, while exploiting the full power of your computer. These video training sessions provide some great launch points to creating your own WPF applications.</p>
<p><a href="http://windowsclient.net/learn/videos_wpf.aspx">Microsoft WPF Videos</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.jettechnical.com/windows-presentation-format-how-do-i-videos.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

