<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-7257159388313913399</id><updated>2011-08-12T01:09:13.288-04:00</updated><title type='text'>onemoretech</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://onemoretech.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://onemoretech.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Phil Lembo</name><uri>http://www.blogger.com/profile/12903060124984753907</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/-VNNlDkeT8Fo/TkS1Zt7SGqI/AAAAAAAAAYg/fL92Tvd-VI8/s220/philnew_sm.png'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>71</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7257159388313913399.post-9142739789928016027</id><published>2007-09-13T23:50:00.001-04:00</published><updated>2008-05-13T14:52:37.078-04:00</updated><title type='text'>And so it goes ... onemoretech is moving!</title><content type='html'>The new URL will be &lt;a href="http://eldapo.lembobrothers.com"&gt;eldapo.lembobrothers.com&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I've migrated the content of this site over to the new domain, importing it into a new WordPress instance there. From past experience I know there are going to be some formatting issues, especially with displaying large blocks of code. There are about 72 posts on this blog right now, so it's going to take time to clear everything up. Meanwhile, all new posts are going to be at the new location, so I hope to see you there.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7257159388313913399-9142739789928016027?l=onemoretech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/9142739789928016027'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/9142739789928016027'/><link rel='alternate' type='text/html' href='http://onemoretech.blogspot.com/2007/09/and-so-it-goes-onemoretech-is-moving.html' title='And so it goes ... onemoretech is moving!'/><author><name>Phil Lembo</name><uri>http://www.blogger.com/profile/12903060124984753907</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/-VNNlDkeT8Fo/TkS1Zt7SGqI/AAAAAAAAAYg/fL92Tvd-VI8/s220/philnew_sm.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-7257159388313913399.post-359644109686262729</id><published>2007-09-05T10:25:00.000-04:00</published><updated>2007-09-05T10:34:37.534-04:00</updated><title type='text'>ISO Refuses to Adopt Microsoft Office Open XML</title><content type='html'>From the &lt;a href="http://www.nytimes.com"&gt;New York Times&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.nytimes.com/2007/09/04/technology/04cnd-soft.html?ex=1346558400&amp;en=9abed8f7fbef2807&amp;ei=5090&amp;partner=rssuserland&amp;emc=rss"&gt;Microsoft is Rebuffed by Standards Body&lt;/a&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;Microsoft’s bid to extend its dominance in digital documents to the new field of open-format documents was unexpectedly rebuffed today when a global technical panel refused to designate its Office Open XML as an international standard.&lt;br /&gt;&lt;center&gt;* * *&lt;/center&gt;“I think many countries simply resisted what they considered undue pressure from Microsoft,” said Pieter Hintjens, president of the Foundation for a Free Information Infrastructure, a Brussels group that opposed Microsoft’s request. “In Europe our standards processes are sophisticated and Microsoft simply lobbied too hard.”&lt;br /&gt;&lt;center&gt;* * *&lt;/center&gt;Mr. Hintjens said Microsoft will have a hard time winning over countries that opposed its standards bid because to do so, Microsoft would be forced to officially put into the public domain the secret coding for many of its proprietary document formats that already dominate the global market, like those in its Office software suite.&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;No worry, Microsoft, you already own the U.S. market - where we have &lt;em&gt;no&lt;/em&gt; standards, thanks to clueless IT executives and corrupt politicians.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7257159388313913399-359644109686262729?l=onemoretech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/359644109686262729'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/359644109686262729'/><link rel='alternate' type='text/html' href='http://onemoretech.blogspot.com/2007/09/iso-refuses-to-adopt-microsoft-office.html' title='ISO Refuses to Adopt Microsoft Office Open XML'/><author><name>Phil Lembo</name><uri>http://www.blogger.com/profile/12903060124984753907</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/-VNNlDkeT8Fo/TkS1Zt7SGqI/AAAAAAAAAYg/fL92Tvd-VI8/s220/philnew_sm.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-7257159388313913399.post-2008507195914160391</id><published>2007-09-05T07:56:00.000-04:00</published><updated>2007-09-05T08:04:03.091-04:00</updated><title type='text'>News Flash: SCO LOST</title><content type='html'>The &lt;a href="http://www.groklaw.net/article.php?story=20070810165237718"&gt;nitty gritty details&lt;/a&gt; from &lt;a href="http://www.groklaw.net"&gt;Groklaw&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Once again, the headline from &lt;a href="http://www.theregister.com"&gt;El Reg&lt;/a&gt; is priceless:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.theregister.com/2007/08/11/novell_gets_unix_from_sco/"&gt;Novell owns Unix copyrights after all: Judge tells SCO to find its checkbook&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;It's all over now, except for what will certainly be months or even years of motions to reconsider, applications for trial de novo, motions for stays and appeals up through the Federal court system -- until SCO runs out of money (or it's partner in slime, Microsoft, cuts it's losses and shuts off the tap).&lt;br /&gt;&lt;br /&gt;Someone have a beer for me (hypertension sucks).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7257159388313913399-2008507195914160391?l=onemoretech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/2008507195914160391'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/2008507195914160391'/><link rel='alternate' type='text/html' href='http://onemoretech.blogspot.com/2007/09/news-flash-sco-lost.html' title='News Flash: SCO LOST'/><author><name>Phil Lembo</name><uri>http://www.blogger.com/profile/12903060124984753907</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/-VNNlDkeT8Fo/TkS1Zt7SGqI/AAAAAAAAAYg/fL92Tvd-VI8/s220/philnew_sm.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-7257159388313913399.post-2964219971435483490</id><published>2007-09-04T15:53:00.000-04:00</published><updated>2007-09-05T08:10:12.724-04:00</updated><title type='text'>Pentagon Got Hacked by the PLA: Join the Club, Bob</title><content type='html'>It's now being reported that &lt;a href="http://www.ft.com/cms/s/0/9dba9ba2-5a3b-11dc-9bcd-0000779fd2ac.html"&gt;the Chinese military hacked the Pentagon's e-mail in June&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.ft.com/cms/s/0/a89c1c88-5a38-11dc-9bcd-0000779fd2ac.html"&gt;One article&lt;/a&gt; describes the technological equivalent of a wrestling match between "their" cyberguys and "ours".&lt;br /&gt;&lt;br /&gt;My favorite take on all this comes from, unsurprisingly, &lt;a href="http://www.theregister.com"&gt;The Register&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.theregister.com/2007/09/04/china_hack_pentagon_leak/"&gt;Pentagon: Chinese military hacked us (We'll need a whole bunch of expensive stuff)&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Big deal. Join the club (Secretary of Defense) Bob (Gates)!&lt;br /&gt;&lt;br /&gt;First, this isn't the first time we've heard this kind of thing. In 2005, &lt;a href=""&gt;Time Magazine&lt;/a&gt; published an article entitled &lt;a href="http://www.time.com/time/magazine/printout/0,8816,1098906,00.html"&gt;The Invasion of the Chinese&lt;/a&gt;, about a PLA intrusion into Department of Energy systems. Of course, in that instance the guy who threw down the flag on the PLA &lt;a href="http://taosecurity.blogspot.com/2005/08/real-threat-reporting-in-environment.html"&gt;got summarily bashed by Uncle Sam&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The pattern of attack described in the earlier 2004 incident and in the more recent acknowledgement (Clarion call? Alarm bell? Fear-mongering to fatten the next appropriations bill?) seem nearly identical.&lt;br /&gt;&lt;br /&gt;The amazing part is that you'd think the Pentagon would find the whole experience humiliating, in that it exposes the ineffectiveness, ineptitude, of their electronic defenses. Of course this is the same organization that couldn't even defend it's own headquarters on 9-11 from a successful attack by an unarmed, subsonic, aircraft. As in so many things, they appear to have no shame in this either.&lt;br /&gt;&lt;br /&gt;Not that I've had any experience with any effort by systems originating on a People's Liberation Army network "footprinting" and then penetrating my home network, but if I did it surely would have caused me to be embarrassed.&lt;br /&gt;&lt;br /&gt;Now &lt;em&gt;if&lt;/em&gt; the PLA were to have done something like that, I would have been surprised to discover that they did it using machines that were so easy to track back to their publicly known network addresses that my 7 year-old son could have found them.&lt;br /&gt;&lt;br /&gt;Again, &lt;em&gt;if&lt;/em&gt; such an expoit took place, they did it with a straight shot at my server through an open port on my firewall, using an incredibly well-known vulnerability in UNIX systems that only an unhardened, or an ineptly hardened, system would have succumbed to. The other professionally humiliating detail was that I discovered the breach (er, assuming there was a breach) completely by accident and only did my forensic work long after they'd had their fun.&lt;br /&gt;&lt;br /&gt;So, &lt;em&gt;if&lt;/em&gt; this kind of thing had happened the system logs, once checked, clearly showed the origin of the dozens of connection attempts, and a couple of successful connects, by a remote system that a little backtracking through DNS revealed to becoming from a subnet owned by the PLA. Tracking that down took less than an hour.&lt;br /&gt;&lt;br /&gt;No hacking of foreign systems was required to do the detective work described above. It was all done with traceroute, dig and a few queries on the World Wide Web. Nothing fancy, and certainly insufficient to constitute evidence in any court of law.&lt;br /&gt;&lt;br /&gt;&lt;em&gt;Ironically, a couple of rules on my router to deny access to anything coming from one of the subnets controlled by the PLA would have effectively blocked the whole effort. My home router is a $59 Linksys device. I'm guessing that the U.S. Department of Defense uses equipment that's somewhat more sophisticated and configurable than that.&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;I wonder if this most recent intrusion was done though a system located on network publicly known to be controlled by the Chinese government? Would the brain trust at DOD be so negligent as to not block access from addresses on such networks? Something tells me that if they were, we're not going to know about it for awhile.&lt;br /&gt;&lt;br /&gt;You know what? I'd say the PLA has done us all a service here, by putting the spotlight on our government's weaknesses. In fact, I'd encourage them to keep it up. Given what contractors usually charge to conduct penetration tests, we're getting a good workout at a bargain price. After all, with all the U.S. debt they own, the Chinese have a vested interest in the continued good health of our economy, at least. Maybe shaving a few hundred billion dollars wasted on an failed defense establishment would improve the "bottom line" enough to give them (the Chinese) some significantly better return on their investment -- not to mention on ours (the American people).&lt;br /&gt;&lt;br /&gt;Man, you &lt;em&gt;can't&lt;/em&gt; make this stuff up.&lt;br /&gt;&lt;br /&gt;P.S. Of course, even back a couple of years ago I was running Linux on all my systems, while both DOE and DOD have a preponderance of Windows boxes. Not that Windows (more particularly, MS Exchange, which is what I'm guessing is the e-mail server product most recently compromised -- all so Bob and "crew" can use their Blackberrys) can't be hardened (see the NSA's &lt;a href="http://www.nsa.gov/snac/downloads_os.cfm?MenuID=scg10.3.1.1"&gt;Security Configuration Guides&lt;/a&gt; page, which you'd never find through the main site navigation if you didn't know what you were looking for -- thank God for &lt;a href="http://www.google.com"&gt;Google&lt;/a&gt;), it just takes alot more skill and effort than hardening a UNIX box -- which kind of blows the whole "Windows is better because it doesn't require expensive, highly trained, technical resources to be effective in even the most demanding environments" mantra that Microsoft has been chanting for 20 years.&lt;br /&gt;&lt;br /&gt;BIG P.P.S. The intruders into my system (&lt;em&gt;if&lt;/em&gt; an intrusion occured) didn't hurt anything, nor do they seem to have been interested in stealing any files they might have seen. There were no config changes or file transfers during their time on my machine. From what I can tell, their sole interest seemed to be in achieving the breach itself, and they didn't stick around long after.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7257159388313913399-2964219971435483490?l=onemoretech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/2964219971435483490'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/2964219971435483490'/><link rel='alternate' type='text/html' href='http://onemoretech.blogspot.com/2007/09/pentagon-got-hacked-by-pla-join-club.html' title='Pentagon Got Hacked by the PLA: Join the Club, Bob'/><author><name>Phil Lembo</name><uri>http://www.blogger.com/profile/12903060124984753907</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/-VNNlDkeT8Fo/TkS1Zt7SGqI/AAAAAAAAAYg/fL92Tvd-VI8/s220/philnew_sm.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-7257159388313913399.post-4185077711698295454</id><published>2007-09-04T11:37:00.001-04:00</published><updated>2007-09-05T08:13:12.749-04:00</updated><title type='text'>Oracle 11g Insecure due to "Stupid" Developer Mistakes</title><content type='html'>Oops. I mean, "stupid mistakes made by developers".&lt;br /&gt;&lt;br /&gt;Here's the scoop from that leader in corporate IT communications, &lt;a href="http://www.computerworld.com"&gt;ComputerWorld&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.computerworld.com/action/article.do?command=viewArticleBasic&amp;articleId=9034078&amp;source=rss_topic85"&gt;Expert finds 'stupid' vulnerabilities in Oracle 11g&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Most of the above article lays out what the quoted db security expert says are "stupid" vulnerabilities in Oracle's latest database product that result from mistakes by it's developers. While calling on the one hand for Oracle to better educate it's developers to avoid these kinds of mistakes, he also goes on to say that there are some vulnerabilities that are related to Oracle's underlying architecture. What's striking here is that nowhere in the article do we get any idea of just what those architectural deficiencies are. Pretty amazing failure to report some really important (maybe critical) facts for what's supposed to be a technology saavy computer trade publication. Is it that the reporter was too stupid or too lazy to ask  the right questions (and comprehend the answers), or just a case of an overzealous editor cutting real news to get an additional column inch for advertising?&lt;br /&gt;&lt;br /&gt;The more interesting part of the article comes at the end though, where the horrorific costs of patching are described. Of course the reporter doesn't mention that these costs exist for almost every software product, including operating systems. The little aside about how much work this involves on the vendor side is a nice touch, leading me (not the reporter, apparently, unless this question was also cut by the editor) to ask: "How many problems go unresolved because of the cost resolving them would represent to [insert name of vendor here]?"&lt;br /&gt;&lt;br /&gt;Hey Larry, how's that offshoring of all your development work turning out anyway?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7257159388313913399-4185077711698295454?l=onemoretech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/4185077711698295454'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/4185077711698295454'/><link rel='alternate' type='text/html' href='http://onemoretech.blogspot.com/2007/09/oracle-11g-insecure-due-to-stupid.html' title='Oracle 11g Insecure due to &quot;Stupid&quot; Developer Mistakes'/><author><name>Phil Lembo</name><uri>http://www.blogger.com/profile/12903060124984753907</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/-VNNlDkeT8Fo/TkS1Zt7SGqI/AAAAAAAAAYg/fL92Tvd-VI8/s220/philnew_sm.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-7257159388313913399.post-7354717769516632623</id><published>2007-08-28T11:10:00.000-04:00</published><updated>2007-08-28T11:12:26.656-04:00</updated><title type='text'>doing x over telnet with RedHat</title><content type='html'>Yes, I know how insecure X over telnet is. But sometimes interoperability trumps enhanced security, so the following is offered for those times when you just have to use telnet to run X apps remotely on a RedHat box.&lt;br /&gt;&lt;br /&gt;Freeing up X over telnet on RedHat/Fedora is actually pretty simple, if you know the trick.&lt;br /&gt;&lt;br /&gt;What you need to do is make a change in the system's gdm configuation. The easiest way to do this is run gdmsetup and click on the "Remote" tab. Go to the drop-down menu for "Style" and pick something, anything, other than "Remote Login Disabled". You can also do this from the command line by going to /etc/gdm/custom.conf and adding "Enable=true" under the "[xdmcp]" section of the file.&lt;br /&gt;&lt;br /&gt;Oh, yeah, also remmember to enable telnetd on the remote server (it's not installed by default). Even if you've installed the legacy server packages you still need to go to /etc/xinetd.d/telnet and change "disable" to "no" and restart xinetd.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7257159388313913399-7354717769516632623?l=onemoretech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/7354717769516632623'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/7354717769516632623'/><link rel='alternate' type='text/html' href='http://onemoretech.blogspot.com/2007/08/doing-x-over-telnet-with-redhat.html' title='doing x over telnet with RedHat'/><author><name>Phil Lembo</name><uri>http://www.blogger.com/profile/12903060124984753907</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/-VNNlDkeT8Fo/TkS1Zt7SGqI/AAAAAAAAAYg/fL92Tvd-VI8/s220/philnew_sm.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-7257159388313913399.post-7293870843437011329</id><published>2007-08-28T10:39:00.000-04:00</published><updated>2007-08-28T14:58:26.645-04:00</updated><title type='text'>more aix annoyances: ssh -X doesn't work</title><content type='html'>&lt;strong&gt;subtitle: "Screw IBM and the horse that it rode in on!"&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Like Sun Solaris, IBM AIX apparently implements it's own weird build and defaults for ssh that prevents using the "ssh -X" trick to get seamless access to X apps on remote servers from working. OK, so RedHat for it's part has by default locked down Gnome and XWindows so that you can't do X into or out of a RedHat (or Fedora) box using telnet with the old "xhost +" and "export DISPLAY=xxx.xxx.xxx.xxx:0.0" trick either (well, there &lt;em&gt;is&lt;/em&gt; a workaround, see a &lt;a href="http://onemoretech.blogspot.com/2007/08/doing-x-over-telnet-with-redhat.html"&gt;future post&lt;/a&gt; for the details).&lt;br /&gt;&lt;br /&gt;So there. We're even. No interoperability between UNIX systems supposedly all using the same open source components.&lt;br /&gt;&lt;br /&gt;More bullsh*t to deal with. Thanks Big Blue. I hope you choke on your own patchsets.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7257159388313913399-7293870843437011329?l=onemoretech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/7293870843437011329'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/7293870843437011329'/><link rel='alternate' type='text/html' href='http://onemoretech.blogspot.com/2007/08/more-aix-annoyances-ssh-x-doesnt-work.html' title='more aix annoyances: ssh -X doesn&apos;t work'/><author><name>Phil Lembo</name><uri>http://www.blogger.com/profile/12903060124984753907</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/-VNNlDkeT8Fo/TkS1Zt7SGqI/AAAAAAAAAYg/fL92Tvd-VI8/s220/philnew_sm.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-7257159388313913399.post-7389261882573022486</id><published>2007-08-28T09:48:00.000-04:00</published><updated>2007-08-28T11:14:36.299-04:00</updated><title type='text'>from linux to aix: terminal tricks</title><content type='html'>Had to go up to one of our AIX boxes today and needed to create a local account for myself and get added to a couple of groups.&lt;br /&gt;&lt;br /&gt;Of course, IBM, being IBM, is not satisfied with the tried and true useradd (or adduser), groupadd, and usermod utilities ubiquitous throughout the UNIX world.&lt;br /&gt;&lt;br /&gt;No, with AIX you need to use "smit", a/k/a "smitty", a curses based tool that uses arrow and function keys for navigation and execution. Kind of like Oracle forms without Jinitiator.&lt;br /&gt;&lt;br /&gt;Anyway, the default config of gnome-terminal and xterm worked OK to launch smit, but most of the function keys were unavailable (well, in gnome-terminal using some of them were already mapped to gnome features).&lt;br /&gt;&lt;br /&gt;Searched around the Internets and found ... nothing. Well, not nothing exactly -- just alot of dead ends that didn't work. Along the way I found a post somewhere that mentioned the "old function keys". Knowing xterm as intimately as I do from my &lt;a href="http://www.freebsd.org"&gt;FreeBSD&lt;/a&gt; days, &lt;strong&gt;I immediately popped an xterm session and did a Control-LeftClick on the xterm window with my mouse and clicked on "Old Function-Keys"&lt;/strong&gt;. Then I logged into the AIX box, su'd to root and launched smitty. Voila! All the function keys now worked! No need to use any Escape or Control combinations or anything.&lt;br /&gt;&lt;br /&gt;Xterm is &lt;em&gt;such&lt;/em&gt; an awesome tool, proving that just because something more than 30 years old can still get it done. Kind of like me.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7257159388313913399-7389261882573022486?l=onemoretech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/7389261882573022486'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/7389261882573022486'/><link rel='alternate' type='text/html' href='http://onemoretech.blogspot.com/2007/08/from-linux-to-aix-terminal-tricks.html' title='from linux to aix: terminal tricks'/><author><name>Phil Lembo</name><uri>http://www.blogger.com/profile/12903060124984753907</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/-VNNlDkeT8Fo/TkS1Zt7SGqI/AAAAAAAAAYg/fL92Tvd-VI8/s220/philnew_sm.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-7257159388313913399.post-982180624117996394</id><published>2007-08-24T14:22:00.000-04:00</published><updated>2007-08-24T17:51:09.662-04:00</updated><title type='text'>Sun Changing Symbol to JAVA: The Fallout Begins</title><content type='html'>Yesterday, &lt;a href="http://en.wikipedia.org/wiki/Jonathan_I._Schwartz"&gt;Jonathan Schwartz&lt;/a&gt; announced in his &lt;a href="http://blogs.sun.com/jonathan/"&gt;blog&lt;/a&gt; that the company &lt;a href="http://blogs.sun.com/jonathan/entry/java_is_everywhere"&gt;would be changing it's stock ticker symbol to JAVA&lt;/a&gt;. You can read the blog post for the details. I came across this particularly insightful rant in the comments and think it deserves to be republished in full.&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;Jonathan, if you are committed to Sun's success, I have a simple recipe: Fire California.&lt;br /&gt;&lt;br /&gt;The whole state.&lt;br /&gt;&lt;br /&gt;Seriously. Sun in California is a filter that catches and keeps people who can't get a job with better prospects at one of the legions of startups that grow like weeds in the silicon valley. It is the most astonishing center of incompetence on the planet. The economics are such that it can't be fixed. Please put it out of its misery.&lt;br /&gt;&lt;br /&gt;We have extraordinary engineers in other locales where we can hire the best and the brightest. As long as the least capable group of employees wields ultimate decision-making power, we waste most of our most competent employees' best work.&lt;br /&gt;&lt;br /&gt;Fire the lawyers who send cease-and-desist letters to companies that redistribute OpenSolaris and have the common-sense to use the word Solaris and thus enhance our own brand at no cost to us. Fire the corporate marketing dips**ts who blow a million on ads for developer tools in the Wall Street Journal. Fire the branding dips**ts who wouldn't know a brand if it bit them on the ass and are more concerned about turf than making this company a success. Fire the directors who need to pee on the furniture like incontinent poodles to make it *their* furniture and think the way to do that is by renaming our products (for the 20th time) and have no conception of how that destroys adoption and brand recognition.&lt;br /&gt;&lt;br /&gt;Really, if you want evidence that Sun is a filter that aggregates, collects and cultivates incompetence, there is no better evidence than our own corporate marketing. People don't start out this pathologically inept - this level of dysfunctionality has to be carefully bred and cultivated.&lt;br /&gt;&lt;br /&gt;And this whole boomerang thing...I'll try to be gracious and avoid naming names, but what the hell are we doing bringing back the very people who drove this company into the ground in the first place? Boomerang indeed. The only question is whose neck the boomerang ends up wrapped around.&lt;br /&gt;&lt;br /&gt;Heck, trace my IP address and it can be my neck. Big deal...&lt;br /&gt;&lt;br /&gt;I work for Sun. In California. I'm putting my money where my mouth is (or vice versa). Fire me. Please. Just promise me that the dips**t menagerie we've built here will go with me.&lt;br /&gt;&lt;br /&gt;I own far too much Sun stock. If you take my advice, I lose my job. Ironic that I'm sure being fired would increase the chances I retire fat and happy, isn't it?&lt;br /&gt;&lt;br /&gt;A friend of mine in the VC business once told me the secret to the silicon valley's sucess was "we don't penalize failure." But that doesn't mean we should nurture and cherish it.&lt;br /&gt;&lt;br /&gt;Do I actually want to get fired? No. But I want to work for a company I can respect. And there is a lot of rot right at the heart of this one. It's not evil, its not malice, it's unchallenged people living up to low expectations.&lt;br /&gt;&lt;br /&gt;Posted by A Sun Employee on August 24, 2007 at 01:55 AM PDT #&lt;br /&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7257159388313913399-982180624117996394?l=onemoretech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/982180624117996394'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/982180624117996394'/><link rel='alternate' type='text/html' href='http://onemoretech.blogspot.com/2007/08/sun-changing-symbol-to-java-fallout.html' title='Sun Changing Symbol to JAVA: The Fallout Begins'/><author><name>Phil Lembo</name><uri>http://www.blogger.com/profile/12903060124984753907</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/-VNNlDkeT8Fo/TkS1Zt7SGqI/AAAAAAAAAYg/fL92Tvd-VI8/s220/philnew_sm.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-7257159388313913399.post-676656939606247524</id><published>2007-08-23T02:45:00.000-04:00</published><updated>2007-08-24T18:05:07.337-04:00</updated><title type='text'>nvidia 6200TC on Fedora Core 6</title><content type='html'>I've been running the proprietary &lt;a href="http://www.nvidia.com"&gt;Nvidia&lt;/a&gt; Linux &lt;a href="http://www.nvidia.com/object/unix.html"&gt;driver&lt;/a&gt; for awhile now, but recently had a couple of programs crash on me (taking my X session with them). One of those apps was &lt;a href="http://earth.google.com/"&gt;Google Earth&lt;/a&gt;, whose forums all pointed the finger at the video driver.&lt;br /&gt;&lt;br /&gt;No surprise there. What I was experiencing was pretty obviously a driver issue. I've got a &lt;a href="http://www.nvidia.com/page/geforce6200_pci.html"&gt;Nvidia 6200TC&lt;/a&gt; in my main workstation, which replaced the shipping &lt;a href="http://www.ati.com"&gt;ATI&lt;/a&gt; 600X card almost a year ago when I gave up trying to get ATI's proprietary drivers to work correctly with &lt;a href="http://www.centos.org"&gt;CentOS&lt;/a&gt; 4.&lt;br /&gt;&lt;br /&gt;After doing some tweaking on xorg.conf and failing to see any change, I decided to try de-installing the proprietary Nvidia driver and go back to the open source x.org nv driver for X11. After backing up my existing xorg.conf, I ran the Nvidia installer with the "--uninstall" switch and removed the driver and it's companion kernel module. I then rebooted and when X failed to start, allowed the the system to automatically configure.&lt;br /&gt;&lt;br /&gt;Although I got everything working again and was able to start Google Earth, my graphics were really S-L-O-W. Doing a glxinfo revealed that direct rendering was not on, and glxgears was running at tortoise-like speed. Google Earth was almost unusable because of the time it took to render each change.&lt;br /&gt;&lt;br /&gt;A few hours later, after alot of Googling around for advice on these kinds of issues, I decided to try installing the proprietary Nvidia driver from the &lt;a href="http://rpmforge.net"&gt;RPMForge&lt;/a&gt; repository, called nvidia-x11-drv. On my first attempt, X failed to start after reboot because yum had grabbed an old version of dkms from the related Dries repository. I "retired" dries.repo, removed both the nvidia driver and dkms, and then installed the latest dkms from RPMForge. Then I rebooted the machine for good measure. Once it was back up (with the restored X desktop), I then re-installed the nvidia driver package from RPMForge and rebooted.&lt;br /&gt;&lt;br /&gt;When the machine finally came back up, voila! After running some checks using glxinfo and xvinfo, I was satisfied that I was indeed running the latest proprietary driver from Nvidia, which supports not only direct rendering, but also 3D graphics.&lt;br /&gt;&lt;br /&gt;Google Earth now ran splendidly, which it should, given the 6200TC 's 400 MHz GeForce VPU gives and 512 Mb effective RAM (256 Mb on board, the rest from shared memory). Of course glxgears reported "only" 2300 fps, but I could live with that.&lt;br /&gt;&lt;br /&gt;The nice thing about loading the driver from yum is that the next time the kernel changes RPMForge should already have a new package with an updated kernel module ready to go. Now I need to go to bed so I can get up for work in 4 hours.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7257159388313913399-676656939606247524?l=onemoretech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/676656939606247524'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/676656939606247524'/><link rel='alternate' type='text/html' href='http://onemoretech.blogspot.com/2007/08/nvidia-6200tc-on-fedora-core-6.html' title='nvidia 6200TC on Fedora Core 6'/><author><name>Phil Lembo</name><uri>http://www.blogger.com/profile/12903060124984753907</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/-VNNlDkeT8Fo/TkS1Zt7SGqI/AAAAAAAAAYg/fL92Tvd-VI8/s220/philnew_sm.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-7257159388313913399.post-3023698177647327780</id><published>2007-08-20T16:57:00.000-04:00</published><updated>2007-08-20T23:03:18.719-04:00</updated><title type='text'>Using a Regex to Filter a String Value</title><content type='html'>Recently I had to filter a user ID value to clean it up. The problem was that whitespace, tabs and all kinds of other non-visible stuff was getting into the data as a result of poor validation on the application used to do the data entry. This was preventing us from reading the "letter followed by 6 digits" ID (e.g. "Z123456") as required. I used a regular expression match to get the job done. Here's my code (the variable $uid has already received the raw value): &lt;code&gt;&lt;pre&gt;&lt;br /&gt;for ($uid) {&lt;br /&gt;&lt;br /&gt;  m/([A-Z]\d{6})/i;&lt;br /&gt;&lt;br /&gt;  $uid = $1;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;/code&gt;&lt;br /&gt;Notice the use of the &lt;code&gt;[A-Z]&lt;/code&gt; character class for the leading letter and the &lt;code&gt;\d&lt;/code&gt; metacharacter for digits, along with the range qualifier &lt;code&gt;{n}&lt;/code&gt; on the number of digits. The &lt;code&gt;/i&lt;/code&gt; tells the regex engine to make a case-insensitive match.&lt;br /&gt;&lt;br /&gt;To filter out &lt;em&gt;all&lt;/em&gt; non-alpha characters in a less elegant way, you can use a simple search and replace operation, like this:&lt;br /&gt;&lt;code&gt;&lt;pre&gt;for($string) {&lt;br /&gt;    s/\D//g;&lt;br /&gt;}&lt;/pre&gt;&lt;/code&gt;&lt;br /&gt;Which will result in &lt;code&gt;$string&lt;/code&gt; containing only digits. This is the method I now use for filtering out formatting characters (as well as stray whitespace, tabs and other such annoyances) from telephone numbers. In Perl, the &lt;code&gt;\D&lt;/code&gt; metacharacter indicates all non-digit characters, while it's little brother, &lt;code&gt;\d&lt;/code&gt;, represents only a digit character. The &lt;code&gt;/g&lt;/code&gt; indicates the regex engine should do a "greedy" match. In such a match operation, the regex engine doesn't stop with the first matched character, but keeps going to the end of the string until it has found every matching characters.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7257159388313913399-3023698177647327780?l=onemoretech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/3023698177647327780'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/3023698177647327780'/><link rel='alternate' type='text/html' href='http://onemoretech.blogspot.com/2007/08/using-regex-to-filter-string-value.html' title='Using a Regex to Filter a String Value'/><author><name>Phil Lembo</name><uri>http://www.blogger.com/profile/12903060124984753907</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/-VNNlDkeT8Fo/TkS1Zt7SGqI/AAAAAAAAAYg/fL92Tvd-VI8/s220/philnew_sm.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-7257159388313913399.post-4908514121605419447</id><published>2007-08-19T16:55:00.000-04:00</published><updated>2007-08-19T17:44:48.550-04:00</updated><title type='text'>a honeypot for liars</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_enG0JqsTrkM/Rsi5xvD755I/AAAAAAAAAJc/vH3-tEaIxXc/s1600-h/wikiscanner.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://bp3.blogger.com/_enG0JqsTrkM/Rsi5xvD755I/AAAAAAAAAJc/vH3-tEaIxXc/s200/wikiscanner.png" alt="" id="BLOGGER_PHOTO_ID_5100530842094790546" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;After seeing a bunch of &lt;a href="http://news.google.com/?ncl=1119616024&amp;hl=en&amp;amp;topic=t"&gt;news articles&lt;/a&gt; about &lt;a href="http://virgil.gr/"&gt;Virgil&lt;/a&gt; Griffith's (name intentionally split to help Virgil in his "quest to become the #1 hit on google for query 'virgil'") &lt;a href="http://wikiscanner.virgil.gr/"&gt;WikiScanner&lt;/a&gt;, I decided to go up and give it a try for myself.&lt;br /&gt;&lt;br /&gt;This thing is amazing! While I've always known about the content management features of &lt;a href="http://www.wikipedia.com/"&gt;Wikipedia&lt;/a&gt;, having deployed the &lt;a href="http://www.mediawiki.org/wiki/MediaWiki"&gt;MediaWiki&lt;/a&gt; software a few times, &lt;a href="http://virgil.gr/"&gt;Virgil's&lt;/a&gt; tool really makes it easy to see who's doing what to the Internet's largest compendium of community authored content.&lt;br /&gt;&lt;br /&gt;While alot of the commentary has focused on the bad actors involved and their presumptive institutional affiliations (derived from their connections through some &lt;em&gt;very&lt;/em&gt; secure private networks), it occurred to me that another way of looking at this is that &lt;a href="http://www.wikipedia.com/"&gt;Wikipedia&lt;/a&gt; may well be one of the most prominent "honeypots" for liars on the Internet. Although most of those who contribute to the site have good intentions, and the non-controversial content is generally trustworthy, many of the more sensational entries seem to have attracted quite a number of people who don't seem to have any qualms about breaking the Ninth Commandment.&lt;br /&gt;&lt;br /&gt;So in addition to being a readily accessible source of valuable educational information on all sorts of topics, &lt;a href="http://www.wikipedia.com/"&gt;Wikipedia&lt;/a&gt; can now also serve as a sort of moral barometer for the staff at various government and private organizations. A double public service that deserves the &lt;a href="http://wikimediafoundation.org/wiki/Fundraising#Donation_methods"&gt;support&lt;/a&gt; of all those who value the truth.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7257159388313913399-4908514121605419447?l=onemoretech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/4908514121605419447'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/4908514121605419447'/><link rel='alternate' type='text/html' href='http://onemoretech.blogspot.com/2007/08/honeypot-for-liars.html' title='a honeypot for liars'/><author><name>Phil Lembo</name><uri>http://www.blogger.com/profile/12903060124984753907</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/-VNNlDkeT8Fo/TkS1Zt7SGqI/AAAAAAAAAYg/fL92Tvd-VI8/s220/philnew_sm.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_enG0JqsTrkM/Rsi5xvD755I/AAAAAAAAAJc/vH3-tEaIxXc/s72-c/wikiscanner.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7257159388313913399.post-8560354106605547384</id><published>2007-08-19T10:41:00.000-04:00</published><updated>2007-08-19T17:26:21.616-04:00</updated><title type='text'>widescreen madness: why i won't be buying a laptop this year</title><content type='html'>Here's the deal. I'm a sysadmin. I use my laptop for sysadmin work. I rarely watch movies on it, and when I do I almost &lt;em&gt;never&lt;/em&gt; watch them full screen.&lt;br /&gt;&lt;br /&gt;Widescreen displays may be better for multimedia PC's, but for business, and especially tech, work they're not only unnecessary but can really be annoying. With a widescreen when I do an ls -l or tail a logfile I get nearly 1/2 as many lines before I've got to go backscrolling in the display. Thanks, but no thanks, to that. Oh, and all you webmasters out there who've worked so hard at making each of your pages take up only a single screen: time to get back to work.&lt;br /&gt;&lt;br /&gt;Of course what this is really about is laptop manufacturers pulling a fast one on consumers. LCD's are expensive to make. By going to a wide screen format, they can still claim the screen is the same &lt;em&gt;diagonal&lt;/em&gt; size while actually delivering fewer square inches in screen real estate. That's less for the consumer and more to the bottom line.&lt;br /&gt;&lt;br /&gt;Anyway, widescreens just don't work for me, and since all the major laptop manufacturers now offer nothing else in their reasonably prices models, I won't be buying a laptop this year.&lt;br /&gt;&lt;br /&gt;That's around $600 - $800 of revenue Dell, HP, Toshiba, et. al. won't be getting from 'ol &lt;a href="http://eldapo.blogspot.com"&gt;eldapo&lt;/a&gt; this year. Sorry guys. You're busted.&lt;br /&gt;&lt;br /&gt;P.S. For those of you out there who run Linux, one of the quick fixes for issues with getting widescreens to work on our favorite O/S is to configure X-Windows to do 1280x800 resolution, which for some of us is something of a step down from the 1280x1024 we usually run at. Nothing like "widescreen performance"!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7257159388313913399-8560354106605547384?l=onemoretech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/8560354106605547384'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/8560354106605547384'/><link rel='alternate' type='text/html' href='http://onemoretech.blogspot.com/2007/08/widescreen-madness-why-i-wont-be-buying.html' title='widescreen madness: why i won&apos;t be buying a laptop this year'/><author><name>Phil Lembo</name><uri>http://www.blogger.com/profile/12903060124984753907</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/-VNNlDkeT8Fo/TkS1Zt7SGqI/AAAAAAAAAYg/fL92Tvd-VI8/s220/philnew_sm.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-7257159388313913399.post-2466936741797392523</id><published>2007-08-15T09:17:00.000-04:00</published><updated>2007-08-19T17:28:41.672-04:00</updated><title type='text'>when tinkering pays off</title><content type='html'>This actually isn't primarily a story about me, but about a colleague.&lt;br /&gt;&lt;br /&gt;Yesterday I got a call from the assistant to our General Counsel who conferenced me in with one of the members of the Board of Directors. Well, not just "one" of the board members. Around my company this guy is an icon, and for good reason. During a particularly rough period of our history he stepped up and provided the leadership needed to save the company.&lt;br /&gt;&lt;br /&gt;Anyway, it seems he was having trouble logging into one of our web sites. I got the call because whenever a login is involved people immediately assume it's a single sign-on issue, or a problem with the user's entry in a directory.&lt;br /&gt;&lt;br /&gt;So I tried logging in with his credentials from both my Windows laptop and my Linux desktop, using both IE and Firefox (Firefox only on Linux, of course). No problem.&lt;br /&gt;&lt;br /&gt;Then he tells me he's running MacOS X and Apple's Safari browser.&lt;br /&gt;&lt;br /&gt;Now I'm a former FreeBSD hacker. Specifically, a former FreeBSD &lt;em&gt;desktop&lt;/em&gt; hacker. Although I've never run MacOS or Safari, I'm actually inclined to favor them over Windows, at least. I've also spent almost 20 years (and early mornings) studying and testing operating systems and applications on my own time that I'll never be asked to support in my day job. My oldest friend is a Mac devotee who jumped for joy when Apple finally released the FreeBSD-based MacOS X.&lt;br /&gt;&lt;br /&gt;Unfortunately this didn't come though in our conversation. I sputtered something like "Oh, well, since we don't support Mac ... don't have any Macs in house ... the only way anyone would know anything is if they run it at home for their personal use ..." &lt;br /&gt;&lt;br /&gt;God, did I really say that? I'm sure I came off as a typical O/S snob and now feel terrible about it.&lt;br /&gt;&lt;br /&gt;After our first conversation, the board member called me back to say he'd tried Firefox and was able to access the site. I promised to continue looking into the problem he was having with Safari, now WAY outside my area of responsibility, and, more importantly, expertise.&lt;br /&gt;&lt;br /&gt;I blasted an e-mail call for help to a friend in the desktop engineering group and finally found out that our webmaster ran Macs at home and was willing to help. Now this particular webmaster is not only one of the nicest people you'd want to meet, but also an extremely talented web developer who knows enough about the web tier that he could easily be a sysadmin. He's also one of those guys who has seemingly infinite curiosity about how stuff works. In retrospect, it shouldn't have surprised me that he was also a Mac user.&lt;br /&gt;&lt;br /&gt;This morning I contacted the GC's assistant and asked her to get them together. I'm sure our webmaster is going to be able to nail the problem, using skills he's developed on his own time and which he could never have gotten our company to pay for training on.&lt;br /&gt;&lt;br /&gt;But isn't that the way it almost always is?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7257159388313913399-2466936741797392523?l=onemoretech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/2466936741797392523'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/2466936741797392523'/><link rel='alternate' type='text/html' href='http://onemoretech.blogspot.com/2007/08/when-tinkering-pays-off.html' title='when tinkering pays off'/><author><name>Phil Lembo</name><uri>http://www.blogger.com/profile/12903060124984753907</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/-VNNlDkeT8Fo/TkS1Zt7SGqI/AAAAAAAAAYg/fL92Tvd-VI8/s220/philnew_sm.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-7257159388313913399.post-2318571035878879224</id><published>2007-08-14T09:09:00.000-04:00</published><updated>2007-08-16T21:55:18.213-04:00</updated><title type='text'>Net::SSH::Perl and Remote Ops</title><content type='html'>Because I work in a widely distributed environment it's sometimes necessary to connect to a bunch of boxes and perform some operation that can only be done in the shell, like run top, to see what's what or do some more serious system configuration work (moving files around, for example. I used to do this with the Net::Telnet Perl module, but since alot of our new servers don't run telnetd for security reasons, I've begun to work with ssh. There are two basic options in Perl, the Net::SSH module that actually uses the ssh binaries on your client, or Net::SSH::Perl which is a true object-oriented solution that does not use those binaries. Both are available on &lt;a href="http://search.cpan.org"&gt;CPAN&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;From a recent install onto one of my &lt;a href="http://www.centos.org"&gt;CentOS&lt;/a&gt; boxes using yum, here are the dependancies for Net::SSH::Perl (packages come courtesy of &lt;a href="http://rpmforge.net"&gt;RPMforge&lt;/a&gt;):&lt;br /&gt;&lt;code&gt;&lt;pre&gt;&lt;br /&gt;Installing:&lt;br /&gt; perl-Net-SSH-Perl       noarch     1.30-2.el5.rf    rpmforge          193 k&lt;br /&gt;Installing for dependencies:&lt;br /&gt; perl-Class-Loader       noarch     2.03-1.2.el5.rf  rpmforge          9.7 k&lt;br /&gt; perl-Convert-ASCII-Armour  noarch     1.4-1.2.el5.rf   rpmforge           11 k&lt;br /&gt; perl-Convert-PEM        noarch     0.07-1.2.el5.rf  rpmforge           19 k&lt;br /&gt; perl-Crypt-CBC          noarch     2.22-1.el5.rf    rpmforge           26 k&lt;br /&gt; perl-Crypt-DES          i386       2.05-3.2.el5.rf  rpmforge           37 k&lt;br /&gt; perl-Crypt-DH           noarch     0.06-1.2.el5.rf  rpmforge           11 k&lt;br /&gt; perl-Crypt-DSA          noarch     0.14-1.el5.rf    rpmforge           35 k&lt;br /&gt; perl-Crypt-IDEA         i386       1.08-1.el5.rf    rpmforge           32 k&lt;br /&gt; perl-Crypt-Primes       i386       0.50-1.2.el5.rf  rpmforge           33 k&lt;br /&gt; perl-Crypt-RSA          noarch     1.58-1.el5.rf    rpmforge           70 k&lt;br /&gt; perl-Crypt-Random       noarch     1.25-1.2.el5.rf  rpmforge           16 k&lt;br /&gt; perl-Data-Buffer        noarch     0.04-1.2.el5.rf  rpmforge           13 k&lt;br /&gt; perl-Digest-MD2         i386       2.03-1.2.el5.rf  rpmforge           41 k&lt;br /&gt; perl-Math-GMP           i386       2.04-1.2.el5.rf  rpmforge           53 k&lt;br /&gt; perl-Math-Pari          i386       2.010706-1.el5.rf  rpmforge          3.2 M&lt;br /&gt; perl-Sort-Versions      noarch     1.5-1.2.el5.rf   rpmforge          8.9 k&lt;br /&gt; perl-Tie-EncryptedHash  noarch     1.21-1.2.el5.rf  rpmforge           15 k&lt;br /&gt;&lt;/pre&gt;&lt;/code&gt;&lt;br /&gt;Of the above, the one that usually gives me the most trouble when compiling from source is Math::Pari, which is why I'm so grateful that this module is available in Fedora/CentOS Extras.&lt;br /&gt;&lt;br /&gt;The key to using Net::SSH or Net::SSH::Perl effectively for automation is to carefully plan out what you want to do, and where you want to do it. Whatever system account(s) you decide to use will need to have it's RSA (or DSA) certificate distributed to the corresponding home directory .ssh/authorized_keys file on every box you need to connect to. With Net::SSH::Perl differences between ssh versions are usually not critical. Because Net::SSH relies on the system ssh binaries, "nonstandard" compilations of those binaries (e.g. in Solaris 9) &lt;em&gt;may&lt;/em&gt; make them incompatible.&lt;br /&gt;&lt;br /&gt;P.S. Getting Net::SSH::Perl compiled on Solaris is not worth the trouble. If you're on Solaris, use Net::SSH instead, along with the &lt;a href="http://www.sunfreeware.com"&gt;Sun Freeware&lt;/a&gt; ssh package, or compile ssh and sshd from source and configure according to the doc so sshd will start on boot. Unfortunately version conflicts abound in the Sun free package collection (openssl in particular), and sometimes it's not easy or even possible to "upgrade" to the latest code because of that. On Solaris 8 and before I almost always compile everything from source as a result. Beginning with Solaris 9 native packages for alot of open source stuff are available, but they (ssh, for example) sometimes get compiled with options that defeat attempts at interoperability. So for Solaris users the only thing I can say is &lt;em&gt;caveat emptor&lt;/em&gt;, "let the buyer beware". Maybe someday Sun will put up a yum repository for it's packages and updates, but I'm not holding my breath.  Open source doesn't just provide freedom to users, it can have a liberating effect for vendors as well. Too bad most of the commercial ISV's out there haven't figured that out yet.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7257159388313913399-2318571035878879224?l=onemoretech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/2318571035878879224'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/2318571035878879224'/><link rel='alternate' type='text/html' href='http://onemoretech.blogspot.com/2007/08/netsshperl-and-remote-ops.html' title='Net::SSH::Perl and Remote Ops'/><author><name>Phil Lembo</name><uri>http://www.blogger.com/profile/12903060124984753907</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/-VNNlDkeT8Fo/TkS1Zt7SGqI/AAAAAAAAAYg/fL92Tvd-VI8/s220/philnew_sm.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-7257159388313913399.post-3364060000825423398</id><published>2007-08-12T23:49:00.000-04:00</published><updated>2007-08-21T01:11:13.376-04:00</updated><title type='text'>making home movie dvds with dvdstyler</title><content type='html'>&lt;a href="http://www.dvdstyler.de/"&gt;DVD Styler&lt;/a&gt; is a GUI front end for &lt;a href="http://dvdauthor.sourceforge.net/"&gt;dvdauthor&lt;/a&gt;, an open source program used to make DVDs from home video.&lt;br /&gt;&lt;br /&gt;There's a nice screenshot-rich (but very simple) &lt;a href="http://docs.pclinuxos.com/CreatingVideoDVDCreate"&gt;tutorial&lt;/a&gt; about using DVD Styler on the &lt;a href="http://docs.pclinuxos.com/Main_Page"&gt;PCLinux OS&lt;/a&gt; site.&lt;br /&gt;&lt;br /&gt;This software has some nice features, like a drag-and-drop interface for adding video and sound files, as well as free-form placement of menu buttons. I haven't really fully explored what it can do, being intent on producing a few long-overdue videos for the grandparents.&lt;br /&gt;&lt;br /&gt;All I need now is a good video editor to use in cutting some of my less effective footage.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7257159388313913399-3364060000825423398?l=onemoretech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/3364060000825423398'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/3364060000825423398'/><link rel='alternate' type='text/html' href='http://onemoretech.blogspot.com/2007/08/making-home-movie-dvds-with-dvdstyler.html' title='making home movie dvds with dvdstyler'/><author><name>Phil Lembo</name><uri>http://www.blogger.com/profile/12903060124984753907</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/-VNNlDkeT8Fo/TkS1Zt7SGqI/AAAAAAAAAYg/fL92Tvd-VI8/s220/philnew_sm.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-7257159388313913399.post-3832505738787144205</id><published>2007-08-09T15:13:00.000-04:00</published><updated>2007-08-09T15:15:11.519-04:00</updated><title type='text'>how many files in directory and below?</title><content type='html'>To count the number of files in a directory and it's subdirectories, do this:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;find . -type f | wc -l&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Enjoy.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7257159388313913399-3832505738787144205?l=onemoretech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/3832505738787144205'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/3832505738787144205'/><link rel='alternate' type='text/html' href='http://onemoretech.blogspot.com/2007/08/how-many-files-in-directory-and-below.html' title='how many files in directory and below?'/><author><name>Phil Lembo</name><uri>http://www.blogger.com/profile/12903060124984753907</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/-VNNlDkeT8Fo/TkS1Zt7SGqI/AAAAAAAAAYg/fL92Tvd-VI8/s220/philnew_sm.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-7257159388313913399.post-1579675611313279645</id><published>2007-08-04T10:19:00.000-04:00</published><updated>2007-08-19T17:31:48.345-04:00</updated><title type='text'>tech politics:  Is Open Document Format "Inevitable"?</title><content type='html'>&lt;blockquote&gt;In 1999, a scientist wanted to look at some data from soil samples collected on Mars in 1975 by the Viking lander. He wanted to test a theory about detecting the existence of Martian bacteria and microbes–in other words, finding life on Mars. The scientist thought he would find what he needed on a NASA website somewhere, but it wasn’t that easy. The original data had been misplaced, and when the huge magnetic tapes that stored the data were found, they were “in a format so old that the programmers who knew it had died.” Someone finally found a ream of paper printouts propping a door open and humanity’s understanding of the universe expanded a bit more.&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;em&gt;From T. Colin Dowd, &lt;a href="http://www.redhatmagazine.com/2007/07/25/odf-the-inevitable-format/#more-300"&gt;ODF: The Inevitable Format&lt;/a&gt; in &lt;a href="http://www.redhatmagazine.com"&gt;Red Hat Magazine&lt;/a&gt;, 7 July 2007&lt;/em&gt;.&lt;br /&gt;&lt;br /&gt;This is a nice article. It makes the technical &lt;em&gt;and social&lt;/em&gt; (as in "for the good of &lt;em&gt;society&lt;/em&gt;") case for the adoption of Open Document Format ("ODF") as the global standard for document encoding. It also takes direct aim at the forces that are hindering widespread adoption, notably the "fear, uncertainty and doubt" that "has emanated from one source, on whose proprietary formats most of the world’s documents currently reside." That source is, clearly, Microsoft Corporation, although it is never named in the article.&lt;br /&gt;&lt;br /&gt;Of course, Microsoft is aided, as the article points out, by the clueless leaders of these government agencies and business organizations who since the early 1990's have written all those checks for copies of Microsoft Office that "inevitably" led to the company's formats becoming the &lt;em&gt;de facto&lt;/em&gt; "standard".&lt;br /&gt;&lt;br /&gt;The &lt;a href="http://www.odfalliance.org/"&gt;Open Document Alliance&lt;/a&gt; has provided a framework for government and business to make a course correction and put their information technology document encoding practices on the right path for the future.&lt;br /&gt;&lt;br /&gt;Unfortunately, there is nothing right now that indicates that the adoption of ODF is "inevitable". In fact, as is pointed out on the ODA site, Massachussetts, the first state government to announce it's intent to go to a more open format, now appears to be buckling under to pressure to further solidify Microsoft's proprietary "standard".&lt;br /&gt;&lt;br /&gt;Back when I was a young lawyer, one of my much more seasoned supervisors gave me this sage advice, which I have since striven to follow, even after retiring from the practice:&lt;br /&gt;&lt;blockquote&gt;&lt;em&gt;Never make someone else's malpractice your own.&lt;/em&gt;&lt;/blockquote&gt;It is a proverb I would highly recommend to policy makers regarding the future of document encoding.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7257159388313913399-1579675611313279645?l=onemoretech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/1579675611313279645'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/1579675611313279645'/><link rel='alternate' type='text/html' href='http://onemoretech.blogspot.com/2007/08/tech-politics-is-open-document-format.html' title='tech politics:  Is Open Document Format &quot;Inevitable&quot;?'/><author><name>Phil Lembo</name><uri>http://www.blogger.com/profile/12903060124984753907</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/-VNNlDkeT8Fo/TkS1Zt7SGqI/AAAAAAAAAYg/fL92Tvd-VI8/s220/philnew_sm.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-7257159388313913399.post-5608331223264575749</id><published>2007-08-02T01:47:00.000-04:00</published><updated>2007-08-16T21:36:42.527-04:00</updated><title type='text'>transcode for converting .avi to .mpeg</title><content type='html'>The &lt;a href="http://www.transcode.org"&gt;transcode&lt;/a&gt; utility is what you need if you want to convert standard avi video files to a flavor of mpeg. The following comes from the &lt;a href="http://www.transcoding.org/cgi-bin/transcode?Tutorials/Authoring_PC_Media_To_DVD"&gt;Authoring PC Media to DVD&lt;/a&gt; tutorial on the project site.&lt;br /&gt;&lt;br /&gt;First, when converting an avi file for use on a DVD, you'll want to split the content into separate video and audio files. In the case of a DVD for playback in the U.S. the encoding will be NTSC. Here's an example given in the tutorial for how to convert a file called "matrix.avi":&lt;br /&gt;&lt;blockquote&gt;&lt;code&gt;&lt;pre&gt;&lt;br /&gt;transcode -i matrix.avi \&lt;br /&gt;           -y ffmpeg \&lt;br /&gt;           --export_prof dvd-ntsc \&lt;br /&gt;           --export_asr 2 \&lt;br /&gt;           -o matrix \&lt;br /&gt;           -D0 \&lt;br /&gt;           -s2 \&lt;br /&gt;           -m matrix.ac3 \&lt;br /&gt;           -J modfps=clonetype=3 \&lt;br /&gt;           --export_fps 29.97&lt;br /&gt;&lt;/pre&gt;&lt;/code&gt;&lt;/blockquote&gt;&lt;br /&gt;This will result in two files, matrix.m2v and matrix.ac3, containing video and audio content, respectively. The aspect ratio will be 4:3 (standard TV). To encode video at 16:9 (widescreen TV), use &lt;code&gt;export_asr 3&lt;/code&gt; instead. You might also want to use the "-Y" switch to set the top and bottom margins (the syntax would be &lt;code&gt;-Y -32,0,-32,0&lt;/code&gt; for letterboxing 32 characters high). I use 4:3 so that the resulting video will be compatible with Grandpa's TV.&lt;br /&gt;&lt;br /&gt;If you have more than one video file, you'd process each separately (you &lt;em&gt;can&lt;/em&gt; combine multiple avi files into a one big file using &lt;code&gt;avimerge&lt;/code&gt;, but there are limits to what both encoders, and most DVD players, can work with -- see my &lt;a href="http://onemoretech.blogspot.com/2007/08/combining-avi-files.html"&gt;previous post&lt;/a&gt; on combining avi files). Keep in mind that video quality degrades with each of these encoding and merging operations. There &lt;em&gt;are&lt;/em&gt; tricks to minimize such degradation, but at the cost of a significant delay in processing.&lt;br /&gt;&lt;br /&gt;To combine multiple video and audio files into one DVD-ready mpg file, use &lt;code&gt;mplex&lt;/code&gt;. Again, from the transcode tutorial (where 3 original avi files, "matrix", "outtakes" and "thx" are used as examples):&lt;br /&gt;&lt;blockquote&gt;&lt;code&gt;&lt;pre&gt;&lt;br /&gt;mplex -f8 -o matrix_dvd.mpg matrix.m2v matrix.ac3&lt;br /&gt;mplex -f8 -o outtakes_dvd.mpg outtakes.m2v outtakes.ac3&lt;br /&gt;mplex -f8 -o thx_dvd.mpg thx.m2v thx.ac3&lt;br /&gt;&lt;/pre&gt;&lt;/code&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7257159388313913399-5608331223264575749?l=onemoretech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/5608331223264575749'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/5608331223264575749'/><link rel='alternate' type='text/html' href='http://onemoretech.blogspot.com/2007/08/transcode-for-converting-avi-to-mpeg.html' title='transcode for converting .avi to .mpeg'/><author><name>Phil Lembo</name><uri>http://www.blogger.com/profile/12903060124984753907</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/-VNNlDkeT8Fo/TkS1Zt7SGqI/AAAAAAAAAYg/fL92Tvd-VI8/s220/philnew_sm.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-7257159388313913399.post-3704973728761831301</id><published>2007-08-02T01:38:00.000-04:00</published><updated>2007-08-12T00:42:42.536-04:00</updated><title type='text'>combining .avi files</title><content type='html'>Some more notes from my efforts to create some home movie DVD's.&lt;br /&gt;&lt;br /&gt;This one requires &lt;code&gt;avimerge&lt;/code&gt;, one of the neat utilities that comes from the &lt;a href="http://www.transcoding.org"&gt;Transcode Project&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;To combine two or more .avi files, use the following syntax:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;avimerge -o combined.avi -i first.avi second.avi&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;It's that simple. Remmember to put the individual .avi files after the "-i" switch (for "input") in the order you'd like the video to appear in the final, combined, .avi file.&lt;br /&gt;&lt;br /&gt;&lt;em&gt;Note: Tricks like using &lt;code&gt;cat&lt;/code&gt; to combine multiple .avi files didn't work for me.&lt;/em&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7257159388313913399-3704973728761831301?l=onemoretech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/3704973728761831301'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/3704973728761831301'/><link rel='alternate' type='text/html' href='http://onemoretech.blogspot.com/2007/08/combining-avi-files.html' title='combining .avi files'/><author><name>Phil Lembo</name><uri>http://www.blogger.com/profile/12903060124984753907</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/-VNNlDkeT8Fo/TkS1Zt7SGqI/AAAAAAAAAYg/fL92Tvd-VI8/s220/philnew_sm.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-7257159388313913399.post-6207568413998192378</id><published>2007-07-26T22:23:00.000-04:00</published><updated>2007-07-26T22:27:12.051-04:00</updated><title type='text'>recursively grep files</title><content type='html'>From &lt;a href="http://garyutz.com"&gt;Gary Utz&lt;/a&gt;, just a one liner to recursively grep on any machine equipped with find, xargs and grep. I use it to search through Apache conf files (which you can get for your Windows system by downloading and installing &lt;a href="http://www.cygwin.com"&gt;Cygwin&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;&lt;code&gt;find . -name *.conf|xargs grep 'string you're looking for'&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7257159388313913399-6207568413998192378?l=onemoretech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/6207568413998192378'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/6207568413998192378'/><link rel='alternate' type='text/html' href='http://onemoretech.blogspot.com/2007/07/recursively-grep-files.html' title='recursively grep files'/><author><name>Phil Lembo</name><uri>http://www.blogger.com/profile/12903060124984753907</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/-VNNlDkeT8Fo/TkS1Zt7SGqI/AAAAAAAAAYg/fL92Tvd-VI8/s220/philnew_sm.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-7257159388313913399.post-4761620238453595936</id><published>2007-07-21T01:14:00.000-04:00</published><updated>2007-07-23T13:49:45.238-04:00</updated><title type='text'>my first pc - the kaypro 1</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_enG0JqsTrkM/RqGXYm7eyPI/AAAAAAAAAHU/1uThJunH9Mc/s1600-h/Kaypro_1_System_1.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://bp3.blogger.com/_enG0JqsTrkM/RqGXYm7eyPI/AAAAAAAAAHU/1uThJunH9Mc/s400/Kaypro_1_System_1.jpg" alt="" id="BLOGGER_PHOTO_ID_5089515502928054514" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;The Commodore 128 I got in 1985 doesn't count, although it's ability to "dual boot" into CP/M was the incentive to start looking for a "real computer". By 1987 I had left my government job and was in private practice in New York, just starting work on my Master's degree. There was an ad in "Computer Shopper" for this &lt;a href="http://www.old-computers.com/museum/computer.asp?st=1&amp;amp;c=831"&gt;Kaypro 1&lt;/a&gt;, a CP/M "portable" that turned out to be the last produced by the company. I don't remmember what I paid for it, but it wasn't much. All of my papers in grad school were written on that system, using a text editor called VDE and a typsetting program called TeX. In 1988 I wrote my one and only hardware driver on this machine, in Z-80 assembler, for an Ampro daisywheel printer.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7257159388313913399-4761620238453595936?l=onemoretech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/4761620238453595936'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/4761620238453595936'/><link rel='alternate' type='text/html' href='http://onemoretech.blogspot.com/2007/07/my-first-pc-kaypro-1.html' title='my first pc - the kaypro 1'/><author><name>Phil Lembo</name><uri>http://www.blogger.com/profile/12903060124984753907</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/-VNNlDkeT8Fo/TkS1Zt7SGqI/AAAAAAAAAYg/fL92Tvd-VI8/s220/philnew_sm.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_enG0JqsTrkM/RqGXYm7eyPI/AAAAAAAAAHU/1uThJunH9Mc/s72-c/Kaypro_1_System_1.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7257159388313913399.post-3147498217190632781</id><published>2007-07-02T12:19:00.000-04:00</published><updated>2007-07-02T12:21:00.158-04:00</updated><title type='text'>strip comments from a file</title><content type='html'>Another oldie but goodie from &lt;a href="http://garyutz.com"&gt;Gary Utz&lt;/a&gt;:&lt;br /&gt;&lt;code&gt;&lt;pre&gt;#!/usr/bin/perl -w&lt;br /&gt; &lt;br /&gt;$infile = $ARGV[0];&lt;br /&gt;$outfile = $ARGV[1];&lt;br /&gt; &lt;br /&gt;open I, $infile or die("\nCannot open input file $!\n");&lt;br /&gt;@file = &amp;lt;I&amp;gt;;&lt;br /&gt;close(I);&lt;br /&gt; &lt;br /&gt;foreach $line(@file) {&lt;br /&gt;  $firstchar = substr($line,0,1);&lt;br /&gt;  $firsttwo = substr($line,0,2);&lt;br /&gt; &lt;br /&gt;  if ($firsttwo ne "#!" &amp;&amp; $firstchar eq "#") { next; }&lt;br /&gt;  elsif ($firstchar eq "\n") { next; }&lt;br /&gt; &lt;br /&gt;  else {push @output, $line; }&lt;br /&gt;}&lt;br /&gt; &lt;br /&gt; open O, "&gt; $outfile" or die("\nCannot open output file $!\n");&lt;br /&gt; print O @output;&lt;br /&gt; close(O);&lt;br /&gt;&lt;/pre&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7257159388313913399-3147498217190632781?l=onemoretech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/3147498217190632781'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/3147498217190632781'/><link rel='alternate' type='text/html' href='http://onemoretech.blogspot.com/2007/07/strip-comments-from-file.html' title='strip comments from a file'/><author><name>Phil Lembo</name><uri>http://www.blogger.com/profile/12903060124984753907</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/-VNNlDkeT8Fo/TkS1Zt7SGqI/AAAAAAAAAYg/fL92Tvd-VI8/s220/philnew_sm.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-7257159388313913399.post-7227308743985422564</id><published>2007-07-02T12:18:00.000-04:00</published><updated>2007-07-02T12:19:00.672-04:00</updated><title type='text'>remove spaces in a file</title><content type='html'>Here's another one from my colleague, engineer &lt;a href="http://garyutz.com"&gt;Gary Utz&lt;/a&gt;. With this one-liner you can strip all the blank lines out of a file. Very useful.&lt;br /&gt;&lt;code&gt;perl -pi -e 's/^(\s)*$//'&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7257159388313913399-7227308743985422564?l=onemoretech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/7227308743985422564'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/7227308743985422564'/><link rel='alternate' type='text/html' href='http://onemoretech.blogspot.com/2007/07/remove-spaces-in-file.html' title='remove spaces in a file'/><author><name>Phil Lembo</name><uri>http://www.blogger.com/profile/12903060124984753907</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/-VNNlDkeT8Fo/TkS1Zt7SGqI/AAAAAAAAAYg/fL92Tvd-VI8/s220/philnew_sm.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-7257159388313913399.post-884545773107421921</id><published>2007-07-02T12:16:00.001-04:00</published><updated>2007-07-02T12:17:25.722-04:00</updated><title type='text'>replace spaces in a file with underscores</title><content type='html'>Helpful for making those Windoze to UNIX transitions:&lt;br /&gt;&lt;code&gt;&lt;pre&gt;#!/usr/bin/perl -w&lt;br /&gt;use File::Path;&lt;br /&gt;@files = glob( "*" );&lt;br /&gt;foreach $files (@files){&lt;br /&gt;    $old = $files;&lt;br /&gt;    $files =~ s/\s/_/g;&lt;br /&gt;    rename( $old, $files);&lt;br /&gt;}&lt;/pre&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7257159388313913399-884545773107421921?l=onemoretech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/884545773107421921'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/884545773107421921'/><link rel='alternate' type='text/html' href='http://onemoretech.blogspot.com/2007/07/replace-spaces-in-file-with-underscores.html' title='replace spaces in a file with underscores'/><author><name>Phil Lembo</name><uri>http://www.blogger.com/profile/12903060124984753907</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/-VNNlDkeT8Fo/TkS1Zt7SGqI/AAAAAAAAAYg/fL92Tvd-VI8/s220/philnew_sm.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-7257159388313913399.post-3415758180847464566</id><published>2007-07-02T12:12:00.000-04:00</published><updated>2007-07-02T12:15:23.669-04:00</updated><title type='text'>who says perl isn't a text editor?</title><content type='html'>This works every, and any, where:&lt;br /&gt;&lt;code&gt;&lt;pre&gt;perl -pi -e 's/existing_text/replacing_text/g' filename&lt;/pre&gt;&lt;/code&gt;&lt;br /&gt;You can simply use an asterisk ("*") in place of "filename" to hit every file in a directory (although I don't recommend it -- 9 times out of 10 you'll be sorry you did). Using the &lt;code&gt;-pi.bak&lt;/code&gt; switch will create a backup of the original file in the process.&lt;br /&gt;&lt;br /&gt;When you come across the need to match on forward slashes (such as when you're search and replacing URL strings), simply escape the each forward slash with a backslash (&lt;code&gt;\/&lt;/code&gt;).&lt;br /&gt;&lt;br /&gt;There's a good article on this at &lt;a href="http://www.coolcomputing.com/article.php?sid=525"&gt;Cool Computing&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7257159388313913399-3415758180847464566?l=onemoretech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/3415758180847464566'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/3415758180847464566'/><link rel='alternate' type='text/html' href='http://onemoretech.blogspot.com/2007/07/who-says-perl-isnt-text-editor.html' title='who says perl isn&apos;t a text editor?'/><author><name>Phil Lembo</name><uri>http://www.blogger.com/profile/12903060124984753907</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/-VNNlDkeT8Fo/TkS1Zt7SGqI/AAAAAAAAAYg/fL92Tvd-VI8/s220/philnew_sm.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-7257159388313913399.post-2888672728101492619</id><published>2007-06-20T20:34:00.000-04:00</published><updated>2007-06-21T01:22:19.420-04:00</updated><title type='text'>Phil Cam in Action</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_enG0JqsTrkM/RnmDf9oB9FI/AAAAAAAAAGw/Z0Hr3e3pYSs/s1600-h/atoffice.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://bp3.blogger.com/_enG0JqsTrkM/RnmDf9oB9FI/AAAAAAAAAGw/Z0Hr3e3pYSs/s320/atoffice.jpg" alt="" id="BLOGGER_PHOTO_ID_5078234639978591314" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Just snapped this today off the infamous "philcam". This is pretty much what those who know about the site (which is alot of folks at our New York and Colorado headquarters) see when they dial it up on our internal network. As I said on my personal blog earlier today, not a very pretty sight. My neighbors in the local branch sometimes have fun with it too.&lt;br /&gt;&lt;br /&gt;How I set this up is described in an earlier &lt;a href="http://onemoretech.blogspot.com/2007/05/webcamserver.html"&gt;article&lt;/a&gt; on this blog. The stuff that's whited-out (including the URL for my internal site) are obscured for security reasons. Hey, what do you expect? I &lt;strong&gt;am&lt;/strong&gt; in system security, after all.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7257159388313913399-2888672728101492619?l=onemoretech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/2888672728101492619'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/2888672728101492619'/><link rel='alternate' type='text/html' href='http://onemoretech.blogspot.com/2007/06/phil-cam-in-action.html' title='Phil Cam in Action'/><author><name>Phil Lembo</name><uri>http://www.blogger.com/profile/12903060124984753907</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/-VNNlDkeT8Fo/TkS1Zt7SGqI/AAAAAAAAAYg/fL92Tvd-VI8/s220/philnew_sm.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_enG0JqsTrkM/RnmDf9oB9FI/AAAAAAAAAGw/Z0Hr3e3pYSs/s72-c/atoffice.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7257159388313913399.post-5806306742965409602</id><published>2007-06-13T23:58:00.000-04:00</published><updated>2007-06-15T20:37:48.191-04:00</updated><title type='text'>Me, my minicam and Linux</title><content type='html'>Finally got the SIIG Firewire card today. Popped it in and restarted the new Fedora 6 box.&lt;br /&gt;&lt;br /&gt;Ran dmesg and saw:&lt;br /&gt;&lt;blockquote&gt;&lt;code&gt;&lt;/code&gt;&lt;pre&gt;&lt;br /&gt;ieee1394: Initialized config rom entry `ip1394'&lt;br /&gt;ohci1394: fw-host0: OHCI-1394 1.0 (PCI): IRQ=[19]  MMIO=[ecefe800-ecefefff]  Max Packet=[2048]  IR/IT contexts=[4/8]&lt;br /&gt;ieee1394: Host added: ID:BUS[0-00:1023]  GUID[0001080038024d39]&lt;br /&gt;ieee1394: Node added: ID:BUS[0-01:1023]  GUID[08004601035d5e58]&lt;br /&gt;ieee1394: raw1394: /dev/raw1394 device initialized&lt;br /&gt;WARNING: The dv1394 driver is unsupported and will be removed from Linux soon. Use raw1394 instead.&lt;br /&gt;ieee1394: Node suspended: ID:BUS[0-01:1023]  GUID[08004601035d5e58]&lt;br /&gt;ieee1394: Node changed: 0-01:1023 -&gt; 0-00:1023&lt;br /&gt;ieee1394: Node resumed: ID:BUS[0-00:1023]  GUID[08004601035d5e58]&lt;br /&gt;ieee1394: Node changed: 0-00:1023 -&gt; 0-01:1023&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Output of lsmod:&lt;br /&gt;&lt;blockquote&gt;&lt;code&gt;&lt;/code&gt;&lt;pre&gt;&lt;br /&gt;dv1394                 22821  0&lt;br /&gt;raw1394                30789  4&lt;br /&gt;ohci1394               37489  1 dv1394&lt;br /&gt;ieee1394              294809  3 dv1394,raw1394,ohci1394&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;OK. OK. So I jumped the gun. Plugged in the camera and turned it on.&lt;br /&gt;&lt;br /&gt;First issue was, what do I use to grab the 3 hours of mini tape I've got?&lt;br /&gt;&lt;br /&gt;Already knew that &lt;a href="http://www.kinodv.org/"&gt;kino&lt;/a&gt; was a little flaky (well, alot flaky -- very prone to crashing), at least on Red Hat.&lt;br /&gt;&lt;br /&gt;Finally decided to use dvgrab. Simple, straighforward. No GUI to mess with.&lt;br /&gt;&lt;br /&gt;Start pulling video off the first tape, run:&lt;br /&gt;&lt;code&gt;&lt;/code&gt;&lt;pre&gt;dvgrab --autosplit tape1_&lt;/pre&gt;&lt;br /&gt;Boom. Starts echoing back to me:&lt;br /&gt;&lt;blockquote&gt;&lt;code&gt;&lt;/code&gt;&lt;pre&gt;&lt;br /&gt;"tape1_001.avi":   136.78 MB 1154 frames timecode 00:00:38.15 date 2006.09.18 13:08:54&lt;br /&gt;"tape1_002.avi":    34.61 MB 292 frames timecode 00:00:48.07 date 2006.09.18 13:09:19&lt;br /&gt;"tape1_003.avi":    99.21 MB 837 frames timecode 00:01:16.06 date 2006.09.18 13:10:04&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt;&lt;br /&gt;Well, you get the idea. Still running as I write this. Plan to let it wind out overnight. Tommorrow I'll begin looking at how to run all this video through an editor and put together some nice, topical, movies. After that it's on to figuring out how to build my own DVD with menus fit for sending to grandpa.&lt;br /&gt;&lt;br /&gt;For now, time for lights out.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7257159388313913399-5806306742965409602?l=onemoretech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/5806306742965409602'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/5806306742965409602'/><link rel='alternate' type='text/html' href='http://onemoretech.blogspot.com/2007/06/me-my-minicam-and-linux.html' title='Me, my minicam and Linux'/><author><name>Phil Lembo</name><uri>http://www.blogger.com/profile/12903060124984753907</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/-VNNlDkeT8Fo/TkS1Zt7SGqI/AAAAAAAAAYg/fL92Tvd-VI8/s220/philnew_sm.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-7257159388313913399.post-6083884105863454129</id><published>2007-06-12T18:32:00.000-04:00</published><updated>2007-06-14T00:18:12.011-04:00</updated><title type='text'>The Virtual AGC</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_enG0JqsTrkM/Rm8gQdoB86I/AAAAAAAAAFU/QBekvPbzsaY/s1600-h/yadsky.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://bp3.blogger.com/_enG0JqsTrkM/Rm8gQdoB86I/AAAAAAAAAFU/QBekvPbzsaY/s320/yadsky.png" alt="" id="BLOGGER_PHOTO_ID_5075310772272362402" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;The &lt;a href="http://www.ibiblio.org/apollo/index.html"&gt;Virtual AGC&lt;/a&gt; simulates the operations of the Apollo Guidance Computer in software. Being home sick the last few days, I've been challenged to do more with my (few) waking hours (real bad virus, maybe flu -- definitely takes you down a few notches) than just watching TV.&lt;br /&gt;&lt;br /&gt;So I came across Ron Burkey's site and downloaded his (still) incomplete AGC emulator, which includes a graphical representation of the original Apollo DSKY data entry pad.&lt;br /&gt;&lt;br /&gt;I've been running through a few of the simulation tests since. Haven't got to anything really meaningful, but for a Cold War era kid like me this is a real thrill.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7257159388313913399-6083884105863454129?l=onemoretech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/6083884105863454129'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/6083884105863454129'/><link rel='alternate' type='text/html' href='http://onemoretech.blogspot.com/2007/06/virtual-agc.html' title='The Virtual AGC'/><author><name>Phil Lembo</name><uri>http://www.blogger.com/profile/12903060124984753907</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/-VNNlDkeT8Fo/TkS1Zt7SGqI/AAAAAAAAAYg/fL92Tvd-VI8/s220/philnew_sm.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_enG0JqsTrkM/Rm8gQdoB86I/AAAAAAAAAFU/QBekvPbzsaY/s72-c/yadsky.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7257159388313913399.post-5167691296379927785</id><published>2007-06-10T10:17:00.000-04:00</published><updated>2007-08-19T17:34:56.921-04:00</updated><title type='text'>Starplot</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_enG0JqsTrkM/RmwNf9oB83I/AAAAAAAAAE8/dG_ILHWG0S8/s1600-h/Screenshot-StarPlot+0.95.4.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://bp2.blogger.com/_enG0JqsTrkM/RmwNf9oB83I/AAAAAAAAAE8/dG_ILHWG0S8/s320/Screenshot-StarPlot+0.95.4.png" alt="" id="BLOGGER_PHOTO_ID_5074445722909274994" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Back when I was in law school I discovered the "Whole Earth Catalog" (2nd edition, entitled "The Next Whole Earth Catalog"). Well, actually I was introduced to it by an upperclassman. To this day I've carried with me two things from that book. The first is the memory of an article entitled "The Stillman Zero Maintenance Theory", that appeared alongside an entry for Joe Troise's book &lt;a href="http://www.amazon.com/Drive-till-drops-running-forever/dp/0897080246"&gt;Drive it till it drops: how to keep your car running forever!&lt;/a&gt;. Basically, Stillman's "theory" was that you find the biggest, ugliest, gas-guzzler you can find (in 1980 this would have been something like a 1968 Plymouth Fury) and, so long as it passes some minimal safety tests (one I remmember involved taking the car up to about 60 MPH and then slamming on the brakes -- it the pedal didn't completely sink to the floor you were in), buy it and then &lt;em&gt;do nothing&lt;/em&gt; to maintain it. No tuneups, no oil changes, nothing.&lt;br /&gt;&lt;br /&gt;The other thing I took away was an introduction to astronomer Guy Ottewell's &lt;a href="http://www.universalworkshop.com/pages/astrolist.html"&gt;Astronomical Calendar&lt;/a&gt; and related publications. The most fascinating of these was the &lt;a href="http://www.universalworkshop.com/pages/ACOM.htm"&gt;Astronomical Companion&lt;/a&gt;, an oversize format paperback that provided an ever expanding 3-D view out from Earth of it's stellar neighborhood.&lt;br /&gt;&lt;br /&gt;I spent hours looking at those 3D views of the other star systems around us, and always wished there was a software program that could provide a similar perpective.&lt;br /&gt;&lt;br /&gt;Well, &lt;a href="http://starplot.org/"&gt;StarPlot&lt;/a&gt; is such a program, whose source is available for compiling on Linux and "Linux-like" systems.&lt;br /&gt;&lt;br /&gt;StarPlot uses the GTK toolkit, and so you'll need the appropriate development libraries to build it. When I compiled it last, I did a "./configure prefix=/opt/starplot" to keep all the code in one directory. Here's my "starplot.desktop", that I dropped into /usr/share/applications.&lt;br /&gt;&lt;code&gt;&lt;br /&gt;[Desktop Entry]&lt;br /&gt;Name=Starplot&lt;br /&gt;Comment=3D Star Mapping&lt;br /&gt;Exec=/opt/starplot/bin/starplot&lt;br /&gt;Icon=/opt/starplot/share/starplot/starplot1e.png&lt;br /&gt;Terminal=false&lt;br /&gt;Type=Application&lt;br /&gt;Version=0.95.4&lt;br /&gt;Actions=Full;&lt;br /&gt;Categories=Application;Astronomy;X-Red-Hat-Extra;&lt;br /&gt;Encoding=UTF-8&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;The application icon is a user contribution copied off the StarPlot home page.&lt;br /&gt;After building and installing, I chowned /opt/starplot so that my "user" group had ownership and chmod'ed to give the group write permissions.&lt;br /&gt;&lt;br /&gt;Using StarPlot is pretty intuitive. You can load (or merge) additional star catalogs like one that contains stars with planets. I loaded the Gliese catalog in order to locate &lt;a href="http://www.eso.org/outreach/press-rel/pr-2007/pr-22-07.html"&gt;GL581&lt;/a&gt;. There are tools included to convert generic star catalog files to the .star format used by StarPlot. Another great piece of open source astronomy software.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7257159388313913399-5167691296379927785?l=onemoretech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/5167691296379927785'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/5167691296379927785'/><link rel='alternate' type='text/html' href='http://onemoretech.blogspot.com/2007/06/starplot.html' title='Starplot'/><author><name>Phil Lembo</name><uri>http://www.blogger.com/profile/12903060124984753907</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/-VNNlDkeT8Fo/TkS1Zt7SGqI/AAAAAAAAAYg/fL92Tvd-VI8/s220/philnew_sm.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_enG0JqsTrkM/RmwNf9oB83I/AAAAAAAAAE8/dG_ILHWG0S8/s72-c/Screenshot-StarPlot+0.95.4.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7257159388313913399.post-2594966218309476885</id><published>2007-06-10T09:17:00.000-04:00</published><updated>2007-06-10T10:17:02.138-04:00</updated><title type='text'>Building XEphem on Fedora 6</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_enG0JqsTrkM/RmwH0toB82I/AAAAAAAAAE0/gdUAMPYRO-M/s1600-h/Screenshot-XEphem+3.7.2.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://bp1.blogger.com/_enG0JqsTrkM/RmwH0toB82I/AAAAAAAAAE0/gdUAMPYRO-M/s320/Screenshot-XEphem+3.7.2.png" alt="" id="BLOGGER_PHOTO_ID_5074439482321793890" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.clearskyinstitute.com/xephem/"&gt;XEphem&lt;/a&gt; is a full-featured astronomical epehemeris program for Linux and Linux-like systems (e.g. FreeBSD and it's non-free cousin, Mac OSX). While there are prebuilt rpms out there, none are available for the latest version (3.7.2), and those that are require enough customization to make them work that it is easier just to compile from source.&lt;br /&gt;&lt;br /&gt;Here's my own build and configure recipe.&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Download and unarchive the source tarball from &lt;a href="http://www.clearskyinstitute.com/xephem/"&gt;http://www.clearskyinstitute.com/xephem/&lt;/a&gt;.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Drill down to the GUI/xephem directory and (for Linux) run "make MOTIF=../../linux86".&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Create a directory called /opt/xephem and copy the newly compiled "xephem" binary to it. Then cp -R the other directories that the INSTALL file indicates to this same directory.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Create a shell script called "xephem.sh" in /opt/xephem with the lines:&lt;code&gt;&lt;br /&gt;#!/bin/bash&lt;br /&gt;cd /opt/xephem&lt;br /&gt;./xephem&lt;/code&gt;&lt;br /&gt;Create a soft link from this shell script to /usr/bin/xephem.&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Use chown to set ownership on "staff" or other common user group for allowing people to write to shared directories, and then chmod g+w.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;For each user who will use the program, create a ~/.xephem directory and a XEphem  file under it containing the line  "XEphem.ShareDir: /opt/xephem".&lt;/li&gt;&lt;br /&gt;&lt;li&gt;To get a menu item in Gnome, create the file /usr/share/applications/xephem.desktop and give it the following content:&lt;code&gt;&lt;br /&gt;[Desktop Entry]&lt;br /&gt;Name=XEphem&lt;br /&gt;Comment=Astronomical Ephemeris&lt;br /&gt;Exec=xephem&lt;br /&gt;Icon=/opt/xephem/auxil/logo.gif&lt;br /&gt;Terminal=false&lt;br /&gt;Type=Application&lt;br /&gt;Version=3.7.2&lt;br /&gt;Actions=Full;&lt;br /&gt;Categories=Application;Astronomy;X-Red-Hat-Extra;&lt;br /&gt;Encoding=UTF-8&lt;/code&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Run xephem and set it to your default location, click update and then save.&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7257159388313913399-2594966218309476885?l=onemoretech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/2594966218309476885'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/2594966218309476885'/><link rel='alternate' type='text/html' href='http://onemoretech.blogspot.com/2007/06/building-xephem-on-fedora-6.html' title='Building XEphem on Fedora 6'/><author><name>Phil Lembo</name><uri>http://www.blogger.com/profile/12903060124984753907</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/-VNNlDkeT8Fo/TkS1Zt7SGqI/AAAAAAAAAYg/fL92Tvd-VI8/s220/philnew_sm.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_enG0JqsTrkM/RmwH0toB82I/AAAAAAAAAE0/gdUAMPYRO-M/s72-c/Screenshot-XEphem+3.7.2.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7257159388313913399.post-6863369224565312900</id><published>2007-06-07T19:45:00.000-04:00</published><updated>2007-06-08T16:59:00.065-04:00</updated><title type='text'>It's the Hardware, Stupid!</title><content type='html'>Trying to track down the cause of my Firewire problems, I came across &lt;a href="http://osvideo.constantvzw.org/?p=35"&gt;this&lt;/a&gt; blog post.&lt;br /&gt;&lt;br /&gt;The output of dmesg on my machine matched his:&lt;br /&gt;&lt;blockquote&gt;&lt;code&gt;&lt;pre&gt;&lt;br /&gt;ieee1394: Initialized config rom entry `ip1394'&lt;br /&gt;ohci1394: fw-host0: Get PHY Reg timeout [0x00000080/0x00000000/100]&lt;br /&gt;ohci1394: fw-host0: OHCI-1394 1.1 (PCI): IRQ=[18]  MMIO=[ecefe000-ecefe7ff]  Max Packet=[2048]  IR/IT contexts=[11/32]&lt;br /&gt;ohci1394: fw-host0: Get PHY Reg timeout [0x00000080/0x00000000/100]&lt;br /&gt;ohci1394: fw-host0: Get PHY Reg timeout [0x00000080/0x00000000/100]&lt;br /&gt;&lt;/pre&gt;&lt;/code&gt;&lt;/blockquote&gt;&lt;br /&gt;The result from lsmod was less promising:&lt;br /&gt;&lt;blockquote&gt;&lt;code&gt;&lt;pre&gt;&lt;br /&gt;ohci1394               37489  0 &lt;br /&gt;ieee1394              294809  1 ohci1394&lt;br /&gt;&lt;/pre&gt;&lt;/code&gt;&lt;/blockquote&gt;&lt;br /&gt;Doing a modprobe on raw1394, dv1394 and ohci1394 garnered this changed result:&lt;br /&gt;&lt;blockquote&gt;&lt;code&gt;&lt;pre&gt;&lt;br /&gt;dv1394                 22821  0 &lt;br /&gt;raw1394                30789  0 &lt;br /&gt;ohci1394               37489  1 dv1394&lt;br /&gt;ieee1394              294809  3 dv1394,raw1394,ohci1394&lt;br /&gt;&lt;/pre&gt;&lt;/code&gt;&lt;/blockquote&gt;&lt;br /&gt;So far so good, I was tracking the author's experience closely. Running dmesg again, I now got:&lt;br /&gt;&lt;blockquote&gt;&lt;code&gt;&lt;pre&gt;&lt;br /&gt;ieee1394: Initialized config rom entry `ip1394'&lt;br /&gt;ohci1394: fw-host0: Get PHY Reg timeout [0x00000080/0x00000000/100]&lt;br /&gt;ohci1394: fw-host0: OHCI-1394 1.1 (PCI): IRQ=[18]  MMIO=[ecefe000-ecefe7ff]  Max Packet=[2048]  IR/IT contexts=[11/32]&lt;br /&gt;ohci1394: fw-host0: Get PHY Reg timeout [0x00000080/0x00000000/100]&lt;br /&gt;ohci1394: fw-host0: Get PHY Reg timeout [0x00000080/0x00000000/100]&lt;br /&gt;ieee1394: raw1394: /dev/raw1394 device initialized&lt;br /&gt;WARNING: The dv1394 driver is unsupported and will be removed from Linux soon. Use raw1394 instead.&lt;br /&gt;&lt;/pre&gt;&lt;/code&gt;&lt;/blockquote&gt;&lt;br /&gt;At this point I knew. It was my hardware. Specifically my IEEE1394 PCI card. It had to be. Over a decade of experience in computers told me that was the answer.&lt;br /&gt;&lt;br /&gt;A cheap, $12 card, made in some sweatshop in China, had cost me a week's worth of late nights.&lt;br /&gt;&lt;br /&gt;The moral of the story? Hardware fails. It's a physical law. As my middle brother used to say, heat is the greatest enemy of electronics -- and computers run awful hot compared to other appliances.&lt;br /&gt;&lt;br /&gt;I could go down to the local computer shop and get a replacement card, but I already know they're only going to have the same low cost card that just failed on me. So instead I'm going up on &lt;a href="http://www.newegg.com"&gt;Newegg&lt;/a&gt; and order something slightly more expensive made by SIIG (a company whose components went into the first PCs I built for hire back in the late 80's). Right now, however, I'm going upstairs to power down the machine and remove the faulty card.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7257159388313913399-6863369224565312900?l=onemoretech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/6863369224565312900'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/6863369224565312900'/><link rel='alternate' type='text/html' href='http://onemoretech.blogspot.com/2007/06/its-hardware-stupid.html' title='It&apos;s the Hardware, Stupid!'/><author><name>Phil Lembo</name><uri>http://www.blogger.com/profile/12903060124984753907</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/-VNNlDkeT8Fo/TkS1Zt7SGqI/AAAAAAAAAYg/fL92Tvd-VI8/s220/philnew_sm.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-7257159388313913399.post-2583425362834151774</id><published>2007-06-07T17:12:00.000-04:00</published><updated>2007-06-07T17:16:51.229-04:00</updated><title type='text'>Script to check on an Oracle DB</title><content type='html'>Just a simple shell script that uses &lt;code&gt;tnsping&lt;/code&gt; to check if a remote db is listening.&lt;br /&gt;$ORACLE_HOME and $ORACLE_SID are hardcoded (there are fancier scripts around that go out to parse oratab and tnsnames.ora, which is particularly useful when you want to ping more than one instance).&lt;br /&gt;&lt;code&gt;&lt;br /&gt;#!/bin/bash&lt;br /&gt;ORACLE_HOME=/u01/app/oracle/product/10.2.0/client&lt;br /&gt;ORACLE_SID=testdb&lt;br /&gt;RESULT=`$ORACLE_HOME/bin/tnsping $ORACLE_SID|grep -q OK`&lt;br /&gt;if [ $? -eq 0 ]; then&lt;br /&gt;echo "db is up"&lt;br /&gt;else&lt;br /&gt;echo "db is down"&lt;br /&gt;fi&lt;br /&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7257159388313913399-2583425362834151774?l=onemoretech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/2583425362834151774'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/2583425362834151774'/><link rel='alternate' type='text/html' href='http://onemoretech.blogspot.com/2007/06/script-to-check-on-oracle-db.html' title='Script to check on an Oracle DB'/><author><name>Phil Lembo</name><uri>http://www.blogger.com/profile/12903060124984753907</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/-VNNlDkeT8Fo/TkS1Zt7SGqI/AAAAAAAAAYg/fL92Tvd-VI8/s220/philnew_sm.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-7257159388313913399.post-8491597924727113822</id><published>2007-06-07T14:52:00.000-04:00</published><updated>2007-06-07T15:00:32.487-04:00</updated><title type='text'>Fedora 6 Tips &amp; Tricks</title><content type='html'>&lt;a href="http://www.gagme.com/greg/linux/fc6-tips.php"&gt;Fedora 6 Tips &amp; Tricks&lt;/a&gt; is a great page by &lt;a href="http://www.gagme.com/greg"&gt;Gregory Gulik&lt;/a&gt; that's just packed with information on customizing the configuration this distribution. It's going on my links list for sure.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7257159388313913399-8491597924727113822?l=onemoretech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/8491597924727113822'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/8491597924727113822'/><link rel='alternate' type='text/html' href='http://onemoretech.blogspot.com/2007/06/fedora-6-tips-tricks.html' title='Fedora 6 Tips &amp; Tricks'/><author><name>Phil Lembo</name><uri>http://www.blogger.com/profile/12903060124984753907</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/-VNNlDkeT8Fo/TkS1Zt7SGqI/AAAAAAAAAYg/fL92Tvd-VI8/s220/philnew_sm.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-7257159388313913399.post-2484010357620350785</id><published>2007-06-07T01:46:00.000-04:00</published><updated>2007-06-07T01:57:24.316-04:00</updated><title type='text'>x3270 configuration</title><content type='html'>A big shoutout to my colleagues out there who were among the pioneers of Linux on the S/390 (the &lt;a href="http://linux390.marist.edu"&gt;Marist College&lt;/a&gt; distribution). Here is my .x3270pro file, which I shamelessly ripped off from &lt;a href="http://carey.geek.nz/doc/x3270-as400/x3270pro"&gt;here&lt;/a&gt;. Essential software for running all those TSO sessions required to get the "iron penguin" properly configured:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;! x3270 profile&lt;br /&gt;! This file overrides xrdb and .Xdefaults.&lt;br /&gt;! To skip reading this file, set NOX3270PRO in the environment.&lt;br /&gt;! Put together by Carey Evans, 1997-1998.&lt;br /&gt;! This file is in the public domain.&lt;br /&gt;&lt;br /&gt;x3270.keymap.5250: \&lt;br /&gt; Meta&lt;Key&gt;F1:  PF(1)\n\&lt;br /&gt; Shift&lt;Key&gt;F1:  PF(13)\n\&lt;br /&gt; Shift&lt;Key&gt;F2:  PF(14)\n\&lt;br /&gt; Shift&lt;Key&gt;F3:  PF(15)\n\&lt;br /&gt; Shift&lt;Key&gt;F4:  PF(16)\n\&lt;br /&gt; Shift&lt;Key&gt;F5:  PF(17)\n\&lt;br /&gt; Shift&lt;Key&gt;F6:  PF(18)\n\&lt;br /&gt; Shift&lt;Key&gt;F7:  PF(19)\n\&lt;br /&gt; Shift&lt;Key&gt;F8:  PF(20)\n\&lt;br /&gt; Shift&lt;Key&gt;F9:  PF(21)\n\&lt;br /&gt; Shift&lt;Key&gt;F10:  PF(22)\n\&lt;br /&gt; Shift&lt;Key&gt;F11:  PF(23)\n\&lt;br /&gt; Shift&lt;Key&gt;F12:  PF(24)\n\&lt;br /&gt; &lt;Key&gt;F1:  PA(1) PF(1)\n\&lt;br /&gt; &lt;Key&gt;F2:  PA(1) PF(2)\n\&lt;br /&gt; &lt;Key&gt;F3:  PA(1) PF(3)\n\&lt;br /&gt; &lt;Key&gt;F4:  PA(1) PF(4)\n\&lt;br /&gt; &lt;Key&gt;F5:  PA(1) PF(5)\n\&lt;br /&gt; &lt;Key&gt;F6:  PA(1) PF(6)\n\&lt;br /&gt; &lt;Key&gt;F7:  PA(1) PF(7)\n\&lt;br /&gt; &lt;Key&gt;F8:  PA(1) PF(8)\n\&lt;br /&gt; &lt;Key&gt;F9:  PA(1) PF(9)\n\&lt;br /&gt; &lt;Key&gt;F10:  PA(1) PF(10)\n\&lt;br /&gt; &lt;Key&gt;F11:  PA(1) PF(11)\n\&lt;br /&gt; &lt;Key&gt;F12:  PA(1) PF(12)\n\&lt;br /&gt; &lt;Key&gt;Return:  EraseEOF() Tab()\n\&lt;br /&gt; Shift&lt;Key&gt;Insert: Dup()\n\&lt;br /&gt; &lt;Key&gt;Insert:  ToggleInsert()\n\&lt;br /&gt; &lt;Key&gt;KP_Insert:  ToggleInsert()\n\&lt;br /&gt; Shift&lt;Key&gt;Home:  PF(5)\n\&lt;br /&gt; &lt;Key&gt;End:  FieldEnd()\n\&lt;br /&gt; &lt;Key&gt;Control_L:  Reset() PF(10)\n\&lt;br /&gt; &lt;Key&gt;Control_R:  Enter()\n\&lt;br /&gt; Shift&lt;Key&gt;Escape: PF(11)\n\&lt;br /&gt; &lt;Key&gt;Escape:  PF(9)\n\&lt;br /&gt; &lt;Key&gt;Pause:  PF(11)\n\&lt;br /&gt; &lt;Key&gt;Print:  PF(4)\n\&lt;br /&gt; &lt;Key&gt;Prior:  PF(7)\n\&lt;br /&gt; &lt;Key&gt;Next:  PF(8)\n\&lt;br /&gt; &lt;Key&gt;Scroll_Lock: PF(1)\n\&lt;br /&gt; &lt;Key&gt;KP_Enter:  Enter()\n&lt;br /&gt;&lt;br /&gt;! model (-model)&lt;br /&gt;x3270.model: 2&lt;br /&gt;! keymap (-keymap)&lt;br /&gt;x3270.keymap: alt,5250&lt;br /&gt;! charset (-charset)&lt;br /&gt;x3270.charset: us-intl&lt;br /&gt;! toggles (-set, -clear)&lt;br /&gt;x3270.blankFill: true&lt;br /&gt;&lt;br /&gt;! File updated Fri Jun 17 21:26:10 2005 by x3270 v3.3.2p1 Wed Jul  7 11:09:00 EDT 2004 root&lt;br /&gt;! emulator font  (-efont)&lt;br /&gt;x3270.emulatorFont: 3270-20&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7257159388313913399-2484010357620350785?l=onemoretech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/2484010357620350785'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/2484010357620350785'/><link rel='alternate' type='text/html' href='http://onemoretech.blogspot.com/2007/06/x3270-configuration.html' title='x3270 configuration'/><author><name>Phil Lembo</name><uri>http://www.blogger.com/profile/12903060124984753907</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/-VNNlDkeT8Fo/TkS1Zt7SGqI/AAAAAAAAAYg/fL92Tvd-VI8/s220/philnew_sm.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-7257159388313913399.post-8715945850222715697</id><published>2007-06-07T01:19:00.000-04:00</published><updated>2007-06-07T01:43:37.940-04:00</updated><title type='text'>wireless networking with ndiswrapper</title><content type='html'>The house laptop (a Dell Inspiron 1200) just got an upgrade to &lt;a href="http://fedoraproject.org"&gt;Fedora&lt;/a&gt; Core 6, so I had to once again set up wireless networking on it. My prefered route is to use &lt;a href="http://ndiswrapper.sourceforge.net/"&gt;ndiswrapper&lt;/a&gt;, because it supports so many different cards. Basically I followed the &lt;a href="http://ndiswrapper.sourceforge.net/phpwiki/index.php/Installation"&gt;instructions &lt;/a&gt;found on the project's web site. The steps were simple:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Install the kernel source rpm for the running kernel (for CentOS this would be something like &lt;code&gt;kernel-devel-2.6.9-42.0.3.EL.i686.rpm&lt;/code&gt;, you usually can get by doing a "yum install kernel-devel"). If installing from a downloaded rpm file, use "rpm -ivh &lt;packagename&gt;".&lt;/li&gt;&lt;li&gt;Download and unarchive the ndiswrapper source tar.gz to /usr/src/redhat/SOURCES.&lt;/li&gt;&lt;li&gt;Change directory into the unarchived ndiswrapper directory under SOURCES and make an rpm using &lt;code&gt;make rpm&lt;/code&gt;.&lt;/li&gt;&lt;li&gt;Install the rpm (found in /usr/src/redhat/RPMS).&lt;/li&gt;&lt;li&gt;Download and unarchive the &lt;a href="http://support.dlink.com/downloads"&gt;D-Link&lt;/a&gt; driver for the card (in my case a DWL-G650C b/g device).&lt;/li&gt;&lt;li&gt;Install the desire driver with &lt;code&gt;ndiswrapper -i DRIVER.INF&lt;/code&gt; from within the unarchived driver directory.&lt;/li&gt;&lt;li&gt;Do a &lt;code&gt;modprobe ndiswrapper&lt;/code&gt;.&lt;li&gt;Edit modprobe.conf to include the following lines:&lt;p&gt;&lt;code&gt;options ndiswrapper if_name=wlan0&lt;br&gt;alias wlan0 ndiswrapper&lt;/code&gt;&lt;p&gt;&lt;li&gt;Create a &lt;code&gt;ifcfg-wlan0&lt;code&gt; (see example below) and a &lt;code&gt;keys-wlan0&lt;/code&gt; file (containing the line &lt;code&gt;KEY: xxxxxxxxxxxxxxxxxxxxxx&lt;/code&gt;) to hold your config and credentials for WEP authentication.&lt;/li&gt;&lt;li&gt;Restart the network and take the laptop for a walk around the house.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Following is a copy of my ifcfg-wlan0 file:&lt;code&gt;&lt;br /&gt;# Atheros Communications, Inc. AR5212 802.11abg NIC &lt;br /&gt;DEVICE=wlan0&lt;br /&gt;ONBOOT=yes&lt;br /&gt;BOOTPROTO=dhcp&lt;br /&gt;TYPE=Wireless&lt;br /&gt;MODE=Managed&lt;br /&gt;ESSID=mynetworkessid&lt;br /&gt;RATE=Auto&lt;br /&gt;NETMASK=&lt;br /&gt;DHCP_HOSTNAME=&lt;br /&gt;IPADDR=&lt;br /&gt;DOMAIN=&lt;br /&gt;HWADDR=&lt;br /&gt;CHANNEL=1&lt;br /&gt;USERCTL=no&lt;br /&gt;IPV6INIT=no&lt;br /&gt;PEERDNS=yes&lt;br /&gt;&lt;code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7257159388313913399-8715945850222715697?l=onemoretech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/8715945850222715697'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/8715945850222715697'/><link rel='alternate' type='text/html' href='http://onemoretech.blogspot.com/2007/06/wireless-networking-with-ndiswrapper.html' title='wireless networking with ndiswrapper'/><author><name>Phil Lembo</name><uri>http://www.blogger.com/profile/12903060124984753907</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/-VNNlDkeT8Fo/TkS1Zt7SGqI/AAAAAAAAAYg/fL92Tvd-VI8/s220/philnew_sm.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-7257159388313913399.post-3500876334453442752</id><published>2007-06-06T11:18:00.000-04:00</published><updated>2007-06-06T11:19:37.055-04:00</updated><title type='text'>Red Hat Summit</title><content type='html'>Here are the &lt;a href="http://www.redhat.com/promo/summit/?sc_cid=bcm_bnrhpsummit_032"&gt;Summit Highlights&lt;/a&gt; from this year's meeting in San Diego.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7257159388313913399-3500876334453442752?l=onemoretech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/3500876334453442752'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/3500876334453442752'/><link rel='alternate' type='text/html' href='http://onemoretech.blogspot.com/2007/06/red-hat-summit.html' title='Red Hat Summit'/><author><name>Phil Lembo</name><uri>http://www.blogger.com/profile/12903060124984753907</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/-VNNlDkeT8Fo/TkS1Zt7SGqI/AAAAAAAAAYg/fL92Tvd-VI8/s220/philnew_sm.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-7257159388313913399.post-4160437262074549887</id><published>2007-06-06T10:56:00.000-04:00</published><updated>2007-06-07T17:32:18.826-04:00</updated><title type='text'>liberation fonts</title><content type='html'>&lt;a href="https://www.redhat.com/promo/fonts/"&gt;These&lt;/a&gt; are really good. Still not a 100% replacement for the old Microsoft &lt;a href="http://corefonts.sourceforge.net/"&gt;core fonts&lt;/a&gt; (&lt;a href="http://www.mjmwired.net/resources/mjm-fedora-f7.html#ttf"&gt;here&lt;/a&gt; is a recent link to an rpm for those), but a nice set of quality fonts that look great in Firefox.&lt;br /&gt;&lt;br /&gt;Thanks to &lt;a href="http://www.redhat.com"&gt;Red Hat&lt;/a&gt; for the gift.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7257159388313913399-4160437262074549887?l=onemoretech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/4160437262074549887'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/4160437262074549887'/><link rel='alternate' type='text/html' href='http://onemoretech.blogspot.com/2007/06/liberation-fonts.html' title='liberation fonts'/><author><name>Phil Lembo</name><uri>http://www.blogger.com/profile/12903060124984753907</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/-VNNlDkeT8Fo/TkS1Zt7SGqI/AAAAAAAAAYg/fL92Tvd-VI8/s220/philnew_sm.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-7257159388313913399.post-6603094353470683240</id><published>2007-06-06T09:22:00.000-04:00</published><updated>2007-08-22T13:32:24.167-04:00</updated><title type='text'>VMware Server on Fedora Core 6</title><content type='html'>Ran into a little trouble installing &lt;a href="http://www.vmware.com/"&gt;VMware&lt;/a&gt; Server on &lt;a href="http://fedoraproject.org/"&gt;Fedora&lt;/a&gt; Core 6 last night. Especially annoying because I had a limited time to get it done before going down to put the kids to bed.&lt;br /&gt;&lt;br /&gt;There's apparently an issue with the latest Fedora Core 6 kernel (you've got to wonder if Red Hat is having a problem with kernel maintainence lately, see my earlier post on the show-stopper bug I experienced with Fedora 7) that prevents the &lt;code&gt;vmware-config.pl&lt;/code&gt; script from compiling the module it needs to run the software.&lt;br /&gt;&lt;br /&gt;This is &lt;em&gt;not&lt;/em&gt; the same bug that was discussed &lt;a href="http://forums.fedoraforum.org/showthread.php?t=134555"&gt;here&lt;/a&gt;, and that fix does not work.&lt;br /&gt;&lt;br /&gt;I finally found the answer on the VMware Workstation Forum in a post entitled &lt;a href="http://www.vmware.com/community/thread.jspa?messageID=657552"&gt;"Error on rebuild after kernel upgrade, 2.6.20-1.2952.fc6"&lt;/a&gt;. &lt;em&gt;Note: As of 22 Aug 2007 the referenced patch is at v113, and the location it can be found at has been updated in the link below.&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;The latest "vmware-any-any-update" patch that provides the workaround discussed above is found &lt;a href="http://platan.vc.cvut.cz/ftp/pub/vmware/"&gt;here&lt;/a&gt;. Just run the enclosed &lt;code&gt;runme.pl&lt;/code&gt; script instead of the shipping &lt;code&gt;vmware-config.pl&lt;/code&gt; (runme.pl executes vmware-config.pl after applying the requisite patches). All Fedora users owe the patch author, Petr Vandrovec (userID "petr" on the &lt;a href="http://www.vmware.com/community/forum.jspa?forumID=219"&gt;VMWare Server Forum&lt;/a&gt;), a debt of gratitude for providing this free service to all of us.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7257159388313913399-6603094353470683240?l=onemoretech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/6603094353470683240'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/6603094353470683240'/><link rel='alternate' type='text/html' href='http://onemoretech.blogspot.com/2007/06/vmware-server-on-fedora-core-6.html' title='VMware Server on Fedora Core 6'/><author><name>Phil Lembo</name><uri>http://www.blogger.com/profile/12903060124984753907</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/-VNNlDkeT8Fo/TkS1Zt7SGqI/AAAAAAAAAYg/fL92Tvd-VI8/s220/philnew_sm.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-7257159388313913399.post-8082332175740390889</id><published>2007-06-04T22:10:00.000-04:00</published><updated>2007-06-15T20:50:43.436-04:00</updated><title type='text'>Trouble among the hats</title><content type='html'>My effort to migrate to Fedora 7 isn't going well. Apparently the machine I'm running is subject to a bug in the shipping kernel that still hasn't been fixed.&lt;br /&gt;&lt;br /&gt;Under &lt;a href="http://fedoraproject.org/wiki/Bugs/F7Common"&gt;"Common Issues"&lt;/a&gt; for this first release under the new community rules, there's this glaring acknowledgement:&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;strong&gt;Dell Dual Core Systems&lt;/strong&gt;&lt;br /&gt;&lt;a href="https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=241249"&gt;Bug 241249&lt;/a&gt; - Some Dell laptops with Intel dual-core CPUs (Core Duo, Core 2 Duo, Pentium Dual Core) may require the maxcpus=1 option at installation boot time.&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;Except, from the notes appended to the initial bug report, it's not just dual core Dell laptops, but also desktops, made within the last 2 years. My Dell E510n, which was made just last year, has a 1.83 GHz Pentium D 820 (Smithfield) and is a pretty generic desktop. In fact, it was built to run an open source O/S -- it shipped with FreeDOS.&lt;br /&gt;&lt;br /&gt;Wading through all the comments, some of which characteristically include disparaging remarks about the processors involved that are extremely unhelpful from an engineering point of view, I found several proposed workarounds, none of which worked for me.&lt;br /&gt;&lt;br /&gt;(Still no acknowledgement of other annoyances, like the latest Adobe Acrobat acroread script &lt;a href="http://onemoretech.blogspot.com/2007/04/centos-5-on-dell-inspiron-1200-part-one.html"&gt;failing&lt;/a&gt; to work on anything after Red Hat Enterprise 4/Fedora 5)&lt;br /&gt;&lt;br /&gt;As a result of all this I decided to rebuild my machine with Fedora 6 instead, which went very smoothly. Of course I'll keep checking in on bugzilla to see what, if any, progress is made fixing the Dell dual core CPU issue. Ironically, my free copies of the install discs for Ubuntu 7.04 i386 and x86_64 just arrived. Timing is everything. Still, I think I'll put those Ubuntu disks someplace where I can get to them quickly. Just in case. Being a sysadmin means ALWAYS having a Plan B.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7257159388313913399-8082332175740390889?l=onemoretech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/8082332175740390889'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/8082332175740390889'/><link rel='alternate' type='text/html' href='http://onemoretech.blogspot.com/2007/06/trouble-among-hats.html' title='Trouble among the hats'/><author><name>Phil Lembo</name><uri>http://www.blogger.com/profile/12903060124984753907</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/-VNNlDkeT8Fo/TkS1Zt7SGqI/AAAAAAAAAYg/fL92Tvd-VI8/s220/philnew_sm.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-7257159388313913399.post-992890393883641690</id><published>2007-06-04T11:10:00.000-04:00</published><updated>2007-06-04T11:43:33.351-04:00</updated><title type='text'>Back to Fedora -- for Firewire!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_enG0JqsTrkM/RmQyRCLLqsI/AAAAAAAAADw/nyoOXP6WHvs/s1600-h/fedora-login-screen.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp1.blogger.com/_enG0JqsTrkM/RmQyRCLLqsI/AAAAAAAAADw/nyoOXP6WHvs/s200/fedora-login-screen.jpg" alt="" id="BLOGGER_PHOTO_ID_5072234348548958914" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;It's been a long, fun trip with &lt;a href="http://www.centos.org/"&gt;CentOS&lt;/a&gt; on the desktop. But all good things must come to an end. In the next week I'm going to move my personal workstation at home to &lt;a href="http://fedoraproject.org/relnotes.html"&gt;Fedora 7&lt;/a&gt;. It's not that CentOS doesn't provide the best, most rock-solid server environment in the world (next to their &lt;a href="http://www.redhat.com/"&gt;Upstream OS Provider&lt;/a&gt;). It's the devices. A specific Firewire device in particular.&lt;br /&gt;&lt;br /&gt;This has been a difficult decision because I migrated off Fedora a few years ago to get away from the exhausting pace of new releases that the developers maintain. Rebuilding up to a new major version every 6 months was just not my idea of fun. And then there were the dependancy failures that inevitably resulted when someone forgot to dot an "i" or cross a "t" when releasing an upgrade package that touched a few dozen other packages. That's OK for a development distro, which is what the developers keep reminding us is what Fedora is. For someone who spends most of his day wrestling enterprise software into submission, howerver, it was a little too much.&lt;br /&gt;&lt;br /&gt;But I need good, reliable, Firewire support. I really do.&lt;br /&gt;&lt;br /&gt;You see, in addition to being a full-time tech, I'm also a full-time dad to a couple of very active kids. That's why I bought a nice new Sony DV cam last summer. When I was on CentOS 4 I was able to use a combination of the latest centosplus kernel and hours of Googling to get the right configuration to allow me to download taped video onto my workstation for editing. Since getting up on CentOS 5 I've tried the same procedure again, although there still is no release version of centosplus and I've had to make due with &lt;a href="http://dev.centos.org/"&gt;test&lt;/a&gt;. Although it worked for a day, it suddenly just quit. Although lsmod shows the ieee1394 and ohci1394 modules loaded, none of my software like kino can see the camera or it's output.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_enG0JqsTrkM/RmQzACLLqtI/AAAAAAAAAD4/e77YDPIbby4/s1600-h/DCRHC28.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp1.blogger.com/_enG0JqsTrkM/RmQzACLLqtI/AAAAAAAAAD4/e77YDPIbby4/s320/DCRHC28.jpg" alt="" id="BLOGGER_PHOTO_ID_5072235156002810578" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;So, in the hopes that the newly re-engineered Firewire stack in Fedora 7 will do the trick, I'm migrating off CentOS and back onto Fedora. I've already added a second, real big, hard disk to the box, and moved all the stuff I want to save onto it. All that's left is to tar up etc, home and var just in case I missed something. Then the fun will begin.&lt;br /&gt;&lt;br /&gt;Hopefully this will be the last rebuild I'll need to do for awhile. I've already done 3 in the last couple of months, from CentOS 4 to CentOS 5 x86_64 and then to CentOS 5 x86. Just need to be careful about not running an open-ended "yum update".&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7257159388313913399-992890393883641690?l=onemoretech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/992890393883641690'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/992890393883641690'/><link rel='alternate' type='text/html' href='http://onemoretech.blogspot.com/2007/06/back-to-fedora-for-firewire.html' title='Back to Fedora -- for Firewire!'/><author><name>Phil Lembo</name><uri>http://www.blogger.com/profile/12903060124984753907</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/-VNNlDkeT8Fo/TkS1Zt7SGqI/AAAAAAAAAYg/fL92Tvd-VI8/s220/philnew_sm.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_enG0JqsTrkM/RmQyRCLLqsI/AAAAAAAAADw/nyoOXP6WHvs/s72-c/fedora-login-screen.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7257159388313913399.post-2777630184313536127</id><published>2007-06-01T02:13:00.000-04:00</published><updated>2007-06-01T02:43:23.686-04:00</updated><title type='text'>Palm Foleo</title><content type='html'>The new &lt;a href="http://www.palm.com/us/products/mobilecompanion/foleo/index.html"&gt;Palm Foleo&lt;/a&gt; was just announced the other day.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_enG0JqsTrkM/Rl-7TyLLqrI/AAAAAAAAADo/nHx8Pbl-fhc/s1600-h/palm-foleo.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp3.blogger.com/_enG0JqsTrkM/Rl-7TyLLqrI/AAAAAAAAADo/nHx8Pbl-fhc/s320/palm-foleo.png" alt="" id="BLOGGER_PHOTO_ID_5070977654003051186" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Specs aren't all that detailed yet, but it's supposed to have a 10" screen, a web browser and a GUI e-mail app. It's being billed as a "mobile companion", but if I can run a terminal on it and the battery life is better than a laptop, I'd buy one in a second.&lt;br /&gt;&lt;br /&gt;Four things in it's favor:&lt;ul&gt;&lt;br /&gt;&lt;li&gt;"Just right" sized screen and keyboard. 10" is small enough to still be portable, but big enough to let you get useful stuff done;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Rumor has it that it runs a Linux variant. That means it could run Linux, which means that systems guys like me can learn to expand it's capabilities (like by adding a terminal app).&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Industry standard wireless networking. No info yet on whether it can handle WPA, or what protocls it uses (please, please, let it be a/b/g!).&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Specs released so far say no hard disk (flash memory?), and works up to 5 hours on a charge. For something with no moving parts that's actually a little disappointing, because you know vendors &lt;em&gt;never&lt;/em&gt; actually achieve the battery life they claim.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Although Palm is playing it safe by marketing it to the gadget-loving executives and executive wannabes who are their customer base, it has real potential as a no-nonsense laptop replacement for 24x7 sysadmins like me. For now, I've put myself on the mailing list for when they actually ship.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7257159388313913399-2777630184313536127?l=onemoretech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/2777630184313536127'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/2777630184313536127'/><link rel='alternate' type='text/html' href='http://onemoretech.blogspot.com/2007/06/palm-foleo.html' title='Palm Foleo'/><author><name>Phil Lembo</name><uri>http://www.blogger.com/profile/12903060124984753907</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/-VNNlDkeT8Fo/TkS1Zt7SGqI/AAAAAAAAAYg/fL92Tvd-VI8/s220/philnew_sm.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_enG0JqsTrkM/Rl-7TyLLqrI/AAAAAAAAADo/nHx8Pbl-fhc/s72-c/palm-foleo.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7257159388313913399.post-1903284574046679880</id><published>2007-05-30T12:23:00.000-04:00</published><updated>2007-05-30T19:02:55.065-04:00</updated><title type='text'>Let's get a real database</title><content type='html'>Another &lt;a href="http://eldapo.blogspot.com/2007/05/lets-get-real-database.html"&gt;cross post&lt;/a&gt; from &lt;a href="http://eldapo.blogspot.com"&gt;eldapo&lt;/a&gt;, on the folly of trying to fill open source-sized shoes with proprietary-made feet.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7257159388313913399-1903284574046679880?l=onemoretech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/1903284574046679880'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/1903284574046679880'/><link rel='alternate' type='text/html' href='http://onemoretech.blogspot.com/2007/05/lets-get-real-database.html' title='Let&apos;s get a real database'/><author><name>Phil Lembo</name><uri>http://www.blogger.com/profile/12903060124984753907</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/-VNNlDkeT8Fo/TkS1Zt7SGqI/AAAAAAAAAYg/fL92Tvd-VI8/s220/philnew_sm.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-7257159388313913399.post-4321109148367736990</id><published>2007-05-29T15:31:00.000-04:00</published><updated>2007-05-29T16:07:05.084-04:00</updated><title type='text'>nvidia on linux gamma correction</title><content type='html'>This is another of those "so that others might not suffer as I did" posts.&lt;br /&gt;&lt;br /&gt;Some time ago I swapped out the ATI cards that came with our Dell desktops at home with new ones from Nvidia. Although the performance specs on these cards are similar, the main reason for the switch was improved stability as a result of better quality drivers from Nvidia. This is especially true for Linux.&lt;br /&gt;&lt;br /&gt;With the move up to CentOS 5 on my main workstation I've been working with the xorg generic "nv" driver for the last few weeks. Last night I finally decided to install the proprietary Nvidia driver, mostly because the contrast on my Dell flat panel was annoying me to no end.&lt;br /&gt;&lt;br /&gt;Installation of the latest binary package went smoothly, but when I fired up the Nvidia config tool (nvidia-settings), I could not find the panel to adjust brightness, contrast or gamma.&lt;br /&gt;&lt;br /&gt;Over the next few hours, until around 2 AM, I kept at it. Googling around to no avail. Then I noticed that xvinfo was returning squat, which mean that xv wasn't loading. Since the xorg.conf that anaconda built during the original CentOS setup was pretty sparse (it only had "Load glx").&lt;br /&gt;&lt;br /&gt;Anyway, I discovered that by adding "Load extmod" xv came up and at the same time the controls for brightness, contrast and gamma now magically appeared in the Nvidia gui. I also put in Load lines for dbe, type1 and freetype.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7257159388313913399-4321109148367736990?l=onemoretech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/4321109148367736990'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/4321109148367736990'/><link rel='alternate' type='text/html' href='http://onemoretech.blogspot.com/2007/05/nvidia-on-linux-gamma-correction.html' title='nvidia on linux gamma correction'/><author><name>Phil Lembo</name><uri>http://www.blogger.com/profile/12903060124984753907</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/-VNNlDkeT8Fo/TkS1Zt7SGqI/AAAAAAAAAYg/fL92Tvd-VI8/s220/philnew_sm.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-7257159388313913399.post-8206049805651391199</id><published>2007-05-29T12:07:00.000-04:00</published><updated>2007-05-29T21:51:35.358-04:00</updated><title type='text'>Eldapo Speaks: An IT Infrastructure for the Rest of Us</title><content type='html'>A cross post from &lt;a href="http://eldapo.blogspot.com"&gt;eldapo&lt;/a&gt;. Here's the &lt;a href="http://eldapo.blogspot.com/2007/05/it-infrastructure-for-rest-of-us.html"&gt;link&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7257159388313913399-8206049805651391199?l=onemoretech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/8206049805651391199'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/8206049805651391199'/><link rel='alternate' type='text/html' href='http://onemoretech.blogspot.com/2007/05/it-infrastructure-for-rest-of-us.html' title='Eldapo Speaks: An IT Infrastructure for the Rest of Us'/><author><name>Phil Lembo</name><uri>http://www.blogger.com/profile/12903060124984753907</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/-VNNlDkeT8Fo/TkS1Zt7SGqI/AAAAAAAAAYg/fL92Tvd-VI8/s220/philnew_sm.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-7257159388313913399.post-9199585923095307587</id><published>2007-05-28T15:00:00.000-04:00</published><updated>2007-05-28T15:34:45.534-04:00</updated><title type='text'>My Certificate Authority</title><content type='html'>In Red Hat/CentOS 5 the developers finally adopted the convention in later Fedora releases of moving /usr/share/ssl to /etc/pki/tls. For at least 2 years I've been making by own /etc/ssl/CA and /etc/ssl/certs to store my CA root and host-wide certificates. With the recent change, I'm now going to use /etc/pki/CA and /etc/pki/tls/certs for this purpose.&lt;br /&gt;&lt;br /&gt;To make this as easy as possible, I edited /etc/pki/tls/openssl.cnf to set dir to "/etc/pki/CA" and default_days to "1825" (so my certs expire in 5 years instead of 1). I also filled out some of the other default info like countryName, etc. to avoid repetitive typing.&lt;br /&gt;&lt;br /&gt;For some unknown reason, I really like using the little CA script that's been standard with openssl distributions, which is now /etc/pki/tls/misc/CA.&lt;br /&gt;&lt;br /&gt;To create my CA, I just issued a /etc/pki/tls/misc/CA -newca and answered the questions. My passphrase was a pretty long string I can remmember, and I set the commonName to the something like "My Company Authority" (this value is what gets dispayed as the name of your authority in Mozilla and other browsers, so you want to make it obvious).&lt;br /&gt;&lt;br /&gt;Once I had my new CA in place, it was time to start cutting some certificates. To do this I first changed to the directory where I wanted to store my certificates and keys, /etc/pki/tls/certs.&lt;br /&gt;&lt;br /&gt;This is a two step process, first make a certificate request:&lt;br /&gt;&lt;br /&gt;/etc/pki/tls/misc/CA -newreq&lt;br /&gt;&lt;br /&gt;In answering the questions, for commonName I give the hostname for the machine or virtual host that will use the cert. I also gave a short password (like, "secret") for the certificate key (you'll see why a little further on). This will create two new files, "newreq.pem" (the request file) and "newkey.pem" (a key file).&lt;br /&gt;&lt;br /&gt;Next, sign the the certificate:&lt;br /&gt;&lt;br /&gt;/etc/pki/tls/CA -sign&lt;br /&gt;&lt;br /&gt;Which creates the certificate file, by default called "newcert.pem".&lt;br /&gt;&lt;br /&gt;Most Open Source software doesn't provide a way to feed the key's password during automatic startup. When starting Apache or OpenLDAP manually you'll be prompted for that password, which the server needs to decrypt the key before starting up. To get around this, a decrypted version of the key can be used.&lt;br /&gt;&lt;br /&gt;To create a decrypted version of the key, all you have to do is issue a:&lt;br /&gt;&lt;br /&gt;openssl rsa -in newkey.pem -out hostkey.pem&lt;br /&gt;&lt;br /&gt;Which will decrypt the "newkey.pem" made by CA and create a new, decrypted, version called "hostkey.pem". When configuring software that uses the certificate and key files, use the decrypted key file to allow services to start up without prompting for a key password.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7257159388313913399-9199585923095307587?l=onemoretech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/9199585923095307587'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/9199585923095307587'/><link rel='alternate' type='text/html' href='http://onemoretech.blogspot.com/2007/05/my-certificate-authority.html' title='My Certificate Authority'/><author><name>Phil Lembo</name><uri>http://www.blogger.com/profile/12903060124984753907</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/-VNNlDkeT8Fo/TkS1Zt7SGqI/AAAAAAAAAYg/fL92Tvd-VI8/s220/philnew_sm.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-7257159388313913399.post-9187677680816952876</id><published>2007-05-25T18:52:00.000-04:00</published><updated>2007-05-25T18:59:54.962-04:00</updated><title type='text'>favorite firefox extensions</title><content type='html'>Everyone knows to get Adobe Flash, Acrobat and Real Media's RealPlayer.&lt;br /&gt;&lt;br /&gt;Here's a short list of the Firefox extensions I put on all my machines:&lt;br /&gt;&lt;br /&gt;LiveHTTPHeaders&lt;br /&gt;Wizz News Reader (RSS)&lt;br /&gt;Total Validator&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_enG0JqsTrkM/RldqQ8HmCHI/AAAAAAAAADg/r-g6Ra8Mu48/s1600-h/Screenshot-Extensions.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp2.blogger.com/_enG0JqsTrkM/RldqQ8HmCHI/AAAAAAAAADg/r-g6Ra8Mu48/s320/Screenshot-Extensions.png" alt="" id="BLOGGER_PHOTO_ID_5068636744877213810" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Get these from the &lt;a href="https://addons.mozilla.org/en-US/firefox/browse/type:1"&gt;Firefox Add-ons&lt;/a&gt; page.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7257159388313913399-9187677680816952876?l=onemoretech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/9187677680816952876'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/9187677680816952876'/><link rel='alternate' type='text/html' href='http://onemoretech.blogspot.com/2007/05/favorite-firefox-extensions.html' title='favorite firefox extensions'/><author><name>Phil Lembo</name><uri>http://www.blogger.com/profile/12903060124984753907</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/-VNNlDkeT8Fo/TkS1Zt7SGqI/AAAAAAAAAYg/fL92Tvd-VI8/s220/philnew_sm.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_enG0JqsTrkM/RldqQ8HmCHI/AAAAAAAAADg/r-g6Ra8Mu48/s72-c/Screenshot-Extensions.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7257159388313913399.post-1222611889355611177</id><published>2007-05-24T09:00:00.000-04:00</published><updated>2007-05-24T09:15:13.147-04:00</updated><title type='text'>network attached storage -- almost</title><content type='html'>Was looking at various products that provide at least a pseudo Network Attached Storage (NAS) capability for home users. Not really much to write home about. They're all pretty expensive, and limited, in their own way. Absolute worst of the lot is from one of my favorite companies, Western Digital. Apparently they decided to go with a proprietary Windows client for making connections to their devices. Too bad.&lt;br /&gt;&lt;br /&gt;There was one promising entry, however. The &lt;a href="http://www.hammer-storage.com/"&gt;Hammer Storage&lt;/a&gt; MyShare. The model I was looking at, the &lt;a href="http://www.newegg.com/Product/Product.aspx?Item=N82E16822111012"&gt;HN1200-500&lt;/a&gt; gives you 500 Gb for less than $300 on &lt;a href="http://www.newegg.com/"&gt;NewEgg&lt;/a&gt;.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_enG0JqsTrkM/RlWPi8HmCGI/AAAAAAAAADY/RZZzDfQO89I/s1600-h/hammersm.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp0.blogger.com/_enG0JqsTrkM/RlWPi8HmCGI/AAAAAAAAADY/RZZzDfQO89I/s320/hammersm.jpg" alt="" id="BLOGGER_PHOTO_ID_5068114786091665506" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;In researching the device I found out that it's basically a headless Linux box using an ARM processor. Here are the &lt;a href="http://www.hammer-storage.com/products/myshare.asp"&gt;specs&lt;/a&gt;. With this device you can attach using any one or all of the following standard protocols: HTTP, HTTPS, CIFS, NFS, FTP, SMB. The system can also be managed from a platform-independant web interface. These features put Hammer's offerings (they also have a 1 Tb model) way out ahead of all the competition.&lt;br /&gt;&lt;br /&gt;In the end, I decided to go for a relatively cheap 2nd 250 Gb drive for my main workstation. The major need for more storage right now comes from video editing activity, which requires huge amounts of disk before the final product is completed. For that kind of work another local drive, accessed directly over the hardware bus, is the right choice.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7257159388313913399-1222611889355611177?l=onemoretech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/1222611889355611177'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/1222611889355611177'/><link rel='alternate' type='text/html' href='http://onemoretech.blogspot.com/2007/05/network-attached-storage-not.html' title='network attached storage -- almost'/><author><name>Phil Lembo</name><uri>http://www.blogger.com/profile/12903060124984753907</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/-VNNlDkeT8Fo/TkS1Zt7SGqI/AAAAAAAAAYg/fL92Tvd-VI8/s220/philnew_sm.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp0.blogger.com/_enG0JqsTrkM/RlWPi8HmCGI/AAAAAAAAADY/RZZzDfQO89I/s72-c/hammersm.jpg' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-7257159388313913399.post-8657422819052966881</id><published>2007-05-24T08:53:00.000-04:00</published><updated>2007-05-24T08:59:01.300-04:00</updated><title type='text'>ssh authorized_keys problems</title><content type='html'>A &lt;a href="http://ulaluma.com/pyx/archives/2005/04/ssh_authorized.html"&gt;post&lt;/a&gt; from &lt;a href="http://ulaluma.com/pyx"&gt;"Pyx"&lt;/a&gt;, verbatim, that bears reading:&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;Note to self: whenever you have problems with SSH authorized_keys not working, check the permissions on the directories and files. Here are some quick instructions for getting SSH authorized_keys working on a new host:&lt;br /&gt;&lt;br /&gt;ssh to the remote host and:&lt;br /&gt;&lt;br /&gt;mkdir .ssh&lt;br /&gt;chmod 700 .ssh&lt;br /&gt;&lt;br /&gt;Back on the local machine:&lt;br /&gt;&lt;br /&gt;cat .ssh/id_dsa.pub | ssh remotehost "cat &gt; .ssh/authorized_keys; chmod 600 .ssh/authorized_keys"&lt;br /&gt;&lt;br /&gt;Posted by Donovan at 10:27:43&lt;br /&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7257159388313913399-8657422819052966881?l=onemoretech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/8657422819052966881'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/8657422819052966881'/><link rel='alternate' type='text/html' href='http://onemoretech.blogspot.com/2007/05/ssh-authorizedkeys-problems.html' title='ssh authorized_keys problems'/><author><name>Phil Lembo</name><uri>http://www.blogger.com/profile/12903060124984753907</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/-VNNlDkeT8Fo/TkS1Zt7SGqI/AAAAAAAAAYg/fL92Tvd-VI8/s220/philnew_sm.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-7257159388313913399.post-5015424572257739296</id><published>2007-05-23T21:02:00.000-04:00</published><updated>2007-05-24T09:00:12.007-04:00</updated><title type='text'>retreat from 64-bit</title><content type='html'>Reinstalled 32-bit CentOS over the weekend after a series of hardware-related problems that I suspect may be related to issues with the 64-bit versions of the hardware drivers I was running. This is all tied up with usb and cdrom (ATA - IDE) drive detection and how Nautilus handles insertion "events" for removable media (keep in mind that even the 32-bit version of cdrecord is currently somewhat broken, "-scanbus" no longer works under the newer kernels). Although I can't prove it, I think there may be something flaky about things in a 64-bit environment. Since returning to the 32-bit version of the OS, I have not experienced these difficulties.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7257159388313913399-5015424572257739296?l=onemoretech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/5015424572257739296'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/5015424572257739296'/><link rel='alternate' type='text/html' href='http://onemoretech.blogspot.com/2007/05/retreat-from-64-bit.html' title='retreat from 64-bit'/><author><name>Phil Lembo</name><uri>http://www.blogger.com/profile/12903060124984753907</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/-VNNlDkeT8Fo/TkS1Zt7SGqI/AAAAAAAAAYg/fL92Tvd-VI8/s220/philnew_sm.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-7257159388313913399.post-598769444262603915</id><published>2007-05-18T20:06:00.000-04:00</published><updated>2007-05-18T20:22:35.904-04:00</updated><title type='text'>mounting usb hard drive formatted ntfs</title><content type='html'>Got myself into this jam when I set perms on my Western Digital "My Book" portable usb hard drive.&lt;br /&gt;&lt;br /&gt;Out of the box, the "My Book" comes formatted FAT32, which Linux can read and write to. My CentOS workstation recognizes and automounts the drive using Nautilus in my nonpriviledged user session. An ls -l shows the disk as being owned by me, the session user.&lt;br /&gt;&lt;br /&gt;Under these circumstances in is A VERY BAD THING (TM) to try and impose ext3 permissions on any disk file. Basically it hoses the disk formatting and makes it unwritable either in Linux or Windows. Me, I did a "chown -R me:me *" at the disk root, followed by a "chmod -R ugo+rw *". Real smart.&lt;br /&gt;&lt;br /&gt;Because I had alot of data on the disk I though I'd try my luck at converting it to NTFS from a Widows machine. As I expected, the filesystem was repaired, but now the disk was coming up "Read-Only" when mounted by Nautilus. A simple umount and then mount as root didn't fix the problem (I created a directory called /media/usbdisk to mount /dev/sdb1 on).&lt;br /&gt;&lt;br /&gt;Then I read up on the ntfs-3g driver. &lt;br /&gt;&lt;br /&gt;mount -t ntfs-3g /dev/sdb1 /media/usbdisk -o force&lt;br /&gt;&lt;br /&gt;I did get this error message:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;$LogFile indicates unclean shutdown (0, 1)&lt;br /&gt;WARNING: Forced mount, reset $LogFile.&lt;br /&gt;WARNING: Deficient Linux kernel detected. Some driver features are&lt;br /&gt;         not available (swap file on NTFS, boot from NTFS by LILO), and&lt;br /&gt;         unmount is not safe unless it's made sure the ntfs-3g process&lt;br /&gt;         naturally terminates after calling 'umount'. If you wish this&lt;br /&gt;         message to disappear then you should upgrade to at least kernel&lt;br /&gt;         version 2.6.20, or request help from your distribution to fix&lt;br /&gt;         the kernel problem. The below web page has more information:&lt;br /&gt;         http://ntfs-3g.org/support.html#fuse26&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;But when I checked, the disk was now fully writable by root.&lt;br /&gt;&lt;br /&gt;While this was an oh-so-fun exercise, my plan is to backup the usb disk and then wipe it clean by restoring it's original FAT32 formatting. The moral of the story is to always &lt;br /&gt;read the directions" -- of course in this case there &lt;em&gt;were&lt;/em&gt; no directions because WD refuses to acknowledge the existence of the Linux operating system. Well, now you've been warned.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7257159388313913399-598769444262603915?l=onemoretech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/598769444262603915'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/598769444262603915'/><link rel='alternate' type='text/html' href='http://onemoretech.blogspot.com/2007/05/mounting-usb-hard-drive-formatted-ntfs.html' title='mounting usb hard drive formatted ntfs'/><author><name>Phil Lembo</name><uri>http://www.blogger.com/profile/12903060124984753907</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/-VNNlDkeT8Fo/TkS1Zt7SGqI/AAAAAAAAAYg/fL92Tvd-VI8/s220/philnew_sm.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-7257159388313913399.post-5654632274295678510</id><published>2007-05-14T09:07:00.000-04:00</published><updated>2007-05-14T09:33:49.759-04:00</updated><title type='text'>No X after upgrade/install of Red Hat/CentOS 5</title><content type='html'>Since I've had this problem on a couple of machines, and wasted alot of time searching for an answer, I thought I'd "share the wealth" here.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Problem:&lt;/strong&gt; After upgrading or doing a fresh install of Red Hat or CentOS 5, on the first reboot after configuration you're facing a back screen instead of the expected graphical login. You can log in OK, but try and do a "startx" to fire up the GUI and you'll be told a session is already running.&lt;br /&gt;&lt;br /&gt;In this case believe it. There &lt;em&gt;is&lt;/em&gt; an X session there, the one owned by gdm, the graphical login. If you log out and then do an Alt-F7 you can switch to it and use the graphical login as before.&lt;br /&gt;&lt;br /&gt;Why is this happening? I actually have no idea. Part of why I have no idea is that neither the Red Hat nor CentOS teams have to date acknowledged there is a problem. You'll search in vain for any kind of official word on this condition.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Solution:&lt;/strong&gt; Who knows? Probably a mistake in either an init script or the ordering of the startup sequence. I'm just a mechanic, not an architect. Someone way smarter than me will need to figure that out. For now, see below for the workaround I found on a couple of the lists.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Workaround:&lt;/strong&gt; Edit /etc/grub.conf (that's not the real location, just the symlink, but don't worry about that now) and remove the argument "rhgb quiet" from the bootloader line. As a result rhgb won't load and you'll get the graphical login on reboot.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7257159388313913399-5654632274295678510?l=onemoretech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/5654632274295678510'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/5654632274295678510'/><link rel='alternate' type='text/html' href='http://onemoretech.blogspot.com/2007/05/no-x-after-upgradeinstall-of-red.html' title='No X after upgrade/install of Red Hat/CentOS 5'/><author><name>Phil Lembo</name><uri>http://www.blogger.com/profile/12903060124984753907</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/-VNNlDkeT8Fo/TkS1Zt7SGqI/AAAAAAAAAYg/fL92Tvd-VI8/s220/philnew_sm.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-7257159388313913399.post-1049334157963226410</id><published>2007-05-05T20:33:00.000-04:00</published><updated>2007-05-14T09:41:44.770-04:00</updated><title type='text'>Taking the Plunge in 64-bit Desktop Computing</title><content type='html'>The 64-bit processor is the holy grail of desktop computing. This weekend I finally took the plunge and rebuilt my home workstation with CentOS 5 x86_64.&lt;br /&gt;&lt;br /&gt;One thing I discovered right away was that a 64-bit OS on an Intel x86_64 processor does in fact run faster. Performance was perceptably better than with my previous 32-bit build using CentOS 4.4 for i386.&lt;br /&gt;&lt;br /&gt;Then came the bad news. While the desktop systems using either AMD or Intel x86_64 chips have been out for a few years, there are still no web browser plugins available for Adobe Reader, Flash, Real Player or Sun Java on 64-bit Intel (Sun &lt;em&gt;does&lt;/em&gt; have a 64-bit plugin for Solaris).&lt;br /&gt;&lt;br /&gt;The programmers over at &lt;a href="http://mozdev.org"&gt;mozdev.org&lt;/a&gt; have come out with some wrapper code that allows you to run the 32-bit plugins for Adobe (Reader, Flash) and Real software in Firefox. Unfortunately, this doesn't work for Java. The alternative of using &lt;a href="http://blackdown.org"&gt;Blackdown's&lt;/a&gt; 64-bit rebuild of the JRE 1.4.2 plugin works OK, although I did crash the browser on a couple of test sites and some Java animation didn't work on others.&lt;br /&gt;&lt;br /&gt;When I originally switched from a Windows to a Unix desktop, I had to learn new ways to do familiar things because much of the software I'd used on Windows was simply not available for Linux. In many cases I found that the open source software and the different procedures it required were more actually easier and more efficient than the proprietary product I'd left behind. There is indeed a difference between using a product like tetex and one like PageMaker for typesetting and page composition. After using it for half a decade, I have found the former more to my liking.&lt;br /&gt;&lt;br /&gt;Now that I've made the switch to 64-bit processing, it's likely I'll find similar workarounds for things like reading PDF's, rendering web page animation and playing multimedia files.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Update:&lt;/strong&gt; I've found at least one purportedly 64-bit machine that I couldn't install x86_64 CentOS (and therefore Red Hat) on. That's the Dell GX620 I have on my desk at work. It's an older Prescott with Hyperthreading (&lt;em&gt;not&lt;/em&gt; dual core like the Smithfields I run at home). While the Intel specs say it should be able to run 64-bit OS's, and it &lt;em&gt;does&lt;/em&gt; install, once the config is complete it continually crashes.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7257159388313913399-1049334157963226410?l=onemoretech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/1049334157963226410'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/1049334157963226410'/><link rel='alternate' type='text/html' href='http://onemoretech.blogspot.com/2007/05/taking-plunge-in-64-bit-desktop.html' title='Taking the Plunge in 64-bit Desktop Computing'/><author><name>Phil Lembo</name><uri>http://www.blogger.com/profile/12903060124984753907</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/-VNNlDkeT8Fo/TkS1Zt7SGqI/AAAAAAAAAYg/fL92Tvd-VI8/s220/philnew_sm.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-7257159388313913399.post-366529956757173853</id><published>2007-05-03T17:13:00.000-04:00</published><updated>2007-06-20T15:37:10.363-04:00</updated><title type='text'>webcam_server</title><content type='html'>I work at some distance from my company's corporate headquarters in New York. Although they try to get me to come up for a visit from time to time, for some of my co-workers this just isn't enough to satisfy their curiosity, nay, need, to see what I look like from day to day. As a result, early on I set up "Phil Cam" on my work desktop. An old Creative USB webcam provided the hardware. For the software  I downloaded and installed the open source &lt;a href="http://webcamserver.sourceforge.net/"&gt;webcam_server&lt;/a&gt; software written by Mike Morrison.&lt;br /&gt;&lt;br /&gt;Installation is pretty straightforward. I basically followed the doc that came with the package, with a couple of differences for my own CentOS Linux environment.&lt;br /&gt;&lt;br /&gt;Basically all you have to do is run the webcam_server binary, which sets up a listener on port 8888 for a web page that invokes the included Java applet (called "applet.jar").&lt;br /&gt;&lt;br /&gt;Here's the APPLET code that needs to be embedded in the web page:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt; code = "WebCamApplet.class" archive="applet.jar" width = "320" height = "240"&gt;&lt;br /&gt;&lt; name="URL" value="http://myserver.mydomain.com:8888"&gt;&lt;br /&gt;&lt; name="FPS" value="1"&gt;&lt;br /&gt;&lt; name="width" value="320"&gt;&lt;br /&gt;&lt; name="height" value="240"&gt;&lt;br /&gt;&lt; /APPLET &gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;The Java applet, supporting classes, jpegs and index.html pages are kept in /var/www/html/philcam.&lt;br /&gt;&lt;br /&gt;Because this runs on my desktop at work, I wanted to run it as a daemon. To make that happen I moved the webcam_server binary from /usr/local/bin to /usr/sbin and then deployed the following RHEL init script:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;#!/bin/bash&lt;br /&gt;#&lt;br /&gt;# webcam_server  This shell script takes care of starting and stopping&lt;br /&gt;#   the Webcam Server Application&lt;br /&gt;#&lt;br /&gt;# chkconfig: 2345 99 40&lt;br /&gt;# description: Webcam Server is an application for streaming video&lt;br /&gt;# processname: webcam_server&lt;br /&gt;# pidfile: /var/run/webcam_server.pid&lt;br /&gt;&lt;br /&gt;# Source function library&lt;br /&gt;if [ -f /etc/init.d/functions ] ; then&lt;br /&gt;. /etc/init.d/functions&lt;br /&gt;elif [ -f /etc/rc.d/init.d/functions ] ; then&lt;br /&gt;. /etc/rc.d/init.d/functions&lt;br /&gt;else&lt;br /&gt;exit 0&lt;br /&gt;fi&lt;br /&gt;&lt;br /&gt;RETVAL=0&lt;br /&gt;WCARGS=" -s -l /var/log/webcam_server.log"&lt;br /&gt;&lt;br /&gt;start() {&lt;br /&gt;echo -n $"Starting Webcam Server: "&lt;br /&gt;daemon webcam_server $WCARGS&lt;br /&gt;RETVAL=$?&lt;br /&gt;echo&lt;br /&gt;[ $RETVAL -eq 0 ] &amp;&amp;amp; touch /var/lock/subsys/webcam_server || \&lt;br /&gt;RETVAL=1&lt;br /&gt;return $RETVAL&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;stop() {&lt;br /&gt;echo -n $"Stopping Webcam Server: "&lt;br /&gt;killproc webcam_server&lt;br /&gt;RETVAL=$?&lt;br /&gt;echo&lt;br /&gt;[ $RETVAL -eq 0 ] &amp;&amp;amp; rm -f /var/lock/subsys/webcam_server&lt;br /&gt;echo ""&lt;br /&gt;return $RETVAL&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7257159388313913399-366529956757173853?l=onemoretech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/366529956757173853'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/366529956757173853'/><link rel='alternate' type='text/html' href='http://onemoretech.blogspot.com/2007/05/webcamserver.html' title='webcam_server'/><author><name>Phil Lembo</name><uri>http://www.blogger.com/profile/12903060124984753907</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/-VNNlDkeT8Fo/TkS1Zt7SGqI/AAAAAAAAAYg/fL92Tvd-VI8/s220/philnew_sm.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-7257159388313913399.post-8971125554659063969</id><published>2007-05-02T14:16:00.000-04:00</published><updated>2007-05-02T14:18:54.317-04:00</updated><title type='text'>Installing Java on RHEL with Alternatives</title><content type='html'>The Alternatives system is a powerful tool for configuring third party software on Fedora Core. This article describes how to use it to install Sun's Java SDK on a workstation or server.&lt;br /&gt;&lt;br /&gt;Download the latest J2SDK for Linux (I prefer the rpm for Red Hat) from Sun and install (rpm -Uvh for the rpm package, tar xzf for the tar.gz). I now put it in Sun's preferred default location, /usr/java/jdk-1.5.0_x. Once installed I symlink from the latest version to /usr/java/jdk. By doing this I can avoid having to peform the procedure that follows again with each new version of Java.&lt;br /&gt;&lt;br /&gt;Once this is done, execute the following commands to actually register this as the version of Java to use:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;/usr/sbin/alternatives --install /usr/bin/java java \&lt;br /&gt;     /usr/java/jdk/bin/java 301&lt;br /&gt;&lt;br /&gt;/usr/sbin/alternatives --config java&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;On that last command, be sure to select the actual copy of (or symlink to) the Java version you want to use. Make sure the path given is correct for your system. Repeat this for the javac command.&lt;br /&gt;&lt;br /&gt;Finally, set the environment for everyone on the machine by creating a java.sh script in /etc/profile.d:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;#!/bin/sh&lt;br /&gt;export JAVA_HOME=/usr/java/jdk&lt;br /&gt;export JRE_HOME=$JAVA_HOME/jre&lt;br /&gt;export J2RE_HOME=$JAVA_HOME/jre&lt;br /&gt;export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$J2RE_HOME/bin:$PATH&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Now you can go and manually symlink the Mozilla plugin so that it will be loaded when your browser starts.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7257159388313913399-8971125554659063969?l=onemoretech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/8971125554659063969'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/8971125554659063969'/><link rel='alternate' type='text/html' href='http://onemoretech.blogspot.com/2007/05/installing-java-on-rhel-with.html' title='Installing Java on RHEL with Alternatives'/><author><name>Phil Lembo</name><uri>http://www.blogger.com/profile/12903060124984753907</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/-VNNlDkeT8Fo/TkS1Zt7SGqI/AAAAAAAAAYg/fL92Tvd-VI8/s220/philnew_sm.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-7257159388313913399.post-6654853420510342225</id><published>2007-05-02T09:50:00.000-04:00</published><updated>2007-05-12T15:12:13.061-04:00</updated><title type='text'>Burning CD's from the command-line in Linux</title><content type='html'>Only posting this here so I don't have to Google for the procedure after senility kicks in (taken from my original personal web site):&lt;br /&gt;&lt;em&gt;&lt;br /&gt;As an old DOS hacker, I sometimes find things get done quicker from the command line. In the case of burning CDs or DVDs on Fedora 3, cdrecord is my tool of choice.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Make an ISO image&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;There are a couple of ways to do this.&lt;br /&gt;&lt;br /&gt;To copy an existing disk, do this:&lt;br /&gt;&lt;br /&gt;dd if=/dev/hdc of=cdrom.iso bs=2048&lt;br /&gt;&lt;br /&gt;To make your own iso, do this:&lt;br /&gt;&lt;br /&gt;mkisofs -o /tmp/cdrom.iso -J -r -v -V /tmp/content&lt;br /&gt;&lt;br /&gt;Where "/tmp/content" is a folder containing the files and/or folders you want on the CD.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Test the iso&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Test the resulting iso by mounting it:&lt;br /&gt;&lt;br /&gt;Create a mountpoint (e.g. "/mnt/loop") and then:&lt;br /&gt;&lt;br /&gt;mount -t iso9660 -o loop=/dev/loop0 /tmp/cdrom.iso /mnt/loop&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Find your recorder&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;To find out where on the bus your recorder resides (you need this to use cdrecord):&lt;br /&gt;&lt;br /&gt;cdrecord -scanbus&lt;br /&gt;&lt;br /&gt;If you have an IDE burner and its connected to the second controller on the board, you should get a response that ends with something like:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;scsibus1:&lt;br /&gt;        1,0,0   100) 'PLEXTOR ' 'CD-R   PX-W5224A' '1.01' Removable CD-ROM&lt;br /&gt;        1,1,0   101) *&lt;br /&gt;        1,2,0   102) *&lt;br /&gt;        1,3,0   103) *&lt;br /&gt;        1,4,0   104) *&lt;br /&gt;        1,5,0   105) *&lt;br /&gt;        1,6,0   106) *&lt;br /&gt;        1,7,0   107) *&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;The key info here is the "1,0,0" which indicates the drive location. If you've got a SATA&lt;br /&gt;hard disk, that your system considers a SCSI device, your IDE burner will show up as "0,0,0".&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;This command does not work in CentOS/RedHat 5, and apparently other newer distributions. As of yet U haven't found any satisfactory explaination as to why.&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Burn the iso&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;To have the drive burn your iso image (here we'll call it "cdrom.iso"):&lt;br /&gt;&lt;br /&gt;cdrecord -v dev=ATA:1,0,0 -eject -speed=8 cdrom.iso&lt;br /&gt;&lt;br /&gt;The ":ATA" flag lets the program know this is an ATA, not a SCSI, drive. I usually add "-eject" so I'll know when the burn is done. The "-speed" switch is optional, I use it more out of habit than anything else (slower burns are sometimes less error-prone).&lt;br /&gt;&lt;/em&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7257159388313913399-6654853420510342225?l=onemoretech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/6654853420510342225'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/6654853420510342225'/><link rel='alternate' type='text/html' href='http://onemoretech.blogspot.com/2007/05/burning-cds-from-command-line-in-linux.html' title='Burning CD&apos;s from the command-line in Linux'/><author><name>Phil Lembo</name><uri>http://www.blogger.com/profile/12903060124984753907</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/-VNNlDkeT8Fo/TkS1Zt7SGqI/AAAAAAAAAYg/fL92Tvd-VI8/s220/philnew_sm.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-7257159388313913399.post-5779919006081799222</id><published>2007-05-01T14:43:00.000-04:00</published><updated>2007-05-11T16:46:51.016-04:00</updated><title type='text'>Red Hat Enterprise and Xerox WorkCentres</title><content type='html'>My company purchased a boatload of &lt;a href="http://www.xerox.com"&gt;Xerox&lt;/a&gt; WorkCentres of various models some time ago and recently completed deployment to all the sales branches throughout the U.S., including the one outside Raleigh where I work. Since my primary desktop runs CentOS 4.4, it was only a matter of time before I saw the need to get at least one printer configured for my machine. Today, giving in to my inherent laziness, I decided to set up a second one that sits closer to me.&lt;br /&gt;&lt;br /&gt;These are networked printers, of course. Instead of using the IPP protocol, which wasn't enabled by default by our deskop support team (who were only concerned with making sure the Windows 2003 Server and Windows XP desktops worked), I make my connections using HP JetDirect emulation.&lt;br /&gt;&lt;br /&gt;I started out by using Red Hat's printconf-gui tool to create a plain vanilla "Generic Postscript" printer named appropriately for what it was, set up as a JetDirect device using port 9100. Once this was done, I needed the right .ppd file (Postscript Printer Description), a standard used by printer manufacturers.&lt;br /&gt;&lt;br /&gt;For the WorkCentre Pro 232 that I was working with, what I needed was the latest "Printer Model Package" from Xerox's "Support and Drivers" section. In my case this was a file named &lt;font color="red"&gt;PrinterPkgXPXX_2005_06_06.tar&lt;/font&gt;, that untarred to a directory of the same name and contained a subdirectory called "ppd". By simply copying the right .ppd, &lt;strong&gt;xr_WorkCentrePro232.ppd&lt;/strong&gt; and copying it to /usr/share/cups/model/xerox, I was then able to import it using printconf-gui's "Action ... Import PPD". &lt;br /&gt;&lt;br /&gt;After restarting the cups daemon (printconf-gui prompts to do this), I was able to print a test document to verify it was working.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Note:&lt;/strong&gt; I intentionally didn't provide hyperlinks to the Xerox support pages and the file discussed here, since the company's site appears to be generated out of a database, increasing the likelihood that any &lt;em&gt;links du jour&lt;/em&gt; may not work on the reader's visit to the site -- which kind of defeats the whole purpose of a hyperlink.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7257159388313913399-5779919006081799222?l=onemoretech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/5779919006081799222'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/5779919006081799222'/><link rel='alternate' type='text/html' href='http://onemoretech.blogspot.com/2007/05/red-hat-enterprise-and-xerox.html' title='Red Hat Enterprise and Xerox WorkCentres'/><author><name>Phil Lembo</name><uri>http://www.blogger.com/profile/12903060124984753907</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/-VNNlDkeT8Fo/TkS1Zt7SGqI/AAAAAAAAAYg/fL92Tvd-VI8/s220/philnew_sm.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-7257159388313913399.post-1177421672568575382</id><published>2007-04-30T10:51:00.000-04:00</published><updated>2007-04-30T12:30:22.541-04:00</updated><title type='text'>Cloning a VMWare Guest on the free VMWare Server</title><content type='html'>The free &lt;a href="http://www.vmware.com/products/server"&gt;VMWare Server&lt;/a&gt;, unlike it's heavyweight cousin, &lt;a href="http://www.vmware.com/products/vi/"&gt;VMWare Infrastructure Suite&lt;/a&gt;, doesn't include a facility for cloning guests. A copy guest function does exist in the nonfree &lt;a href="http://www.vmware.com/products/ws/"&gt;VMWare Workstation&lt;/a&gt;, but this has been left out of all the free products. For those of us who began working with VMWare &lt;em&gt;before&lt;/em&gt; even the fee-based products had this feature, the following simple method continues to work:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Create a new folder, named for the new copy;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Copy the files from the original guest into this folder;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Remove any .WRITELOCK files in the new folder, and rename the .vmx file for the new vm guest;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Run the following command to rename the disk folders in the new folder:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;vmware-vdiskmanager -n [OLDVMNAME].vmdk [NEWVMNAME].vmdk&lt;/strong&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Edit the new .vmx file and change the value for "scsi0:0.fileName" to reflect the NEWVMNAME, you might also want to conform the value for "displayName" to match the new name;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Go out and enjoy a cup of coffee with the time you just saved.&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;That's it!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7257159388313913399-1177421672568575382?l=onemoretech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/1177421672568575382'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/1177421672568575382'/><link rel='alternate' type='text/html' href='http://onemoretech.blogspot.com/2007/04/cloning-vmware-guest-on-free-vmware.html' title='Cloning a VMWare Guest on the free VMWare Server'/><author><name>Phil Lembo</name><uri>http://www.blogger.com/profile/12903060124984753907</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/-VNNlDkeT8Fo/TkS1Zt7SGqI/AAAAAAAAAYg/fL92Tvd-VI8/s220/philnew_sm.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-7257159388313913399.post-8008388298806544114</id><published>2007-04-28T13:12:00.000-04:00</published><updated>2007-04-28T13:29:22.731-04:00</updated><title type='text'>Waiting for centosplus</title><content type='html'>The old Dell laptop has been performing very well since being upgraded to &lt;a href="http://www.centos.org"&gt;CentOS 5&lt;/a&gt;. It's still a pig on power consumption, or maybe it's just that I made a huge mistake in getting it with the standard instead of the hi-capacity battery. I've been waiting for release of a centosplus kernel for 5 before upgrading my workstation at home, mostly because I need FireWire (IEEE1394) support to interface with the tape side of our minicam (a Sony). Supposedly the first issue of that kernel has been completed and should be available on the mirrors any day now.&lt;br /&gt; &lt;br /&gt;It's a mark of how spoiled I've become since switching to CentOS a couple of years ago. Back in the bad old days I would routinely spend hours rebuilding the stock kernel from source to get whatever additional device support I needed. Nowadays I wait for someone else to do it and just download their package. Another indicator is my irrational annoyance whenever I have to do an update on one of the Red Hat Enterprise boxes at work. With CentOS I can install a system and issue a "yum update" in relatively rapid succession. For the RHEL environment we need to first procure a subscription, which takes some time with our internal corporate bureaucracy, and then register the system after it's installed. I can buy time by downloading and mounting the latest respin disks, but even with RHEL 4.4 there are by now a staggering number of packages needed to bring a system up to date -- not the least of which is the latest tzdata covering the new DST (Daylight Savings Time) rules. RHEL 5 isn't as bad, but as of the date I'm writing this there isn't ANY commercial software certified to run on it -- leastways nothing from any of the major ISV's (Independant Software Vendors) we use (Oracle, CA, IBM, etc.).&lt;br /&gt;&lt;br /&gt;So here I am, sitting out on the back porch typing this article in between visits to my favorite CentOS mirror.&lt;br /&gt;&lt;br /&gt;Well, at least it's a nice warm, sunny, afternoon in North Carolina.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7257159388313913399-8008388298806544114?l=onemoretech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/8008388298806544114'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/8008388298806544114'/><link rel='alternate' type='text/html' href='http://onemoretech.blogspot.com/2007/04/waiting-for-centosplus.html' title='Waiting for centosplus'/><author><name>Phil Lembo</name><uri>http://www.blogger.com/profile/12903060124984753907</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/-VNNlDkeT8Fo/TkS1Zt7SGqI/AAAAAAAAAYg/fL92Tvd-VI8/s220/philnew_sm.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-7257159388313913399.post-2238293055160987559</id><published>2007-04-21T11:22:00.000-04:00</published><updated>2007-04-21T11:29:02.951-04:00</updated><title type='text'>udevd[408]: add_to_rules: unknown key 'AT
TRS{idProduct}' Error on CentOS 5 Bootup</title><content type='html'>Ever since I upgraded the one laptop to CentOS 5, I've been getting  this annoying error on bootup:&lt;br /&gt;&lt;br /&gt;udevd[408]: add_to_rules: unknown key 'ATTRS{idProduct}'&lt;br /&gt;&lt;br /&gt;Finally found the cause. It was kino. Specifically /etc/udev/rules.d/kino.rules, which got installed when I originally setup kino back before the CentOS 5 upgrade. Here's a related &lt;a href="http://lists.freshrpms.net/pipermail/freshrpms-list/2007-April/014604.html"&gt;post&lt;/a&gt; from a &lt;a href="http://freshrpms.net"&gt;Fresh RPMS&lt;/a&gt; mail list.&lt;br /&gt;&lt;br /&gt;Deleting the file cleared the error.&lt;br /&gt;&lt;br /&gt;I used kino to do video editing on my main workstation, which has the necessary firewire (IEEE 1394) port. Although the laptop isn't equipped to firewire, I like to have kino there so I can do some off line editing.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7257159388313913399-2238293055160987559?l=onemoretech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/2238293055160987559'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/2238293055160987559'/><link rel='alternate' type='text/html' href='http://onemoretech.blogspot.com/2007/04/udevd408-addtorules-unknown-key-at.html' title='udevd[408]: add_to_rules: unknown key &apos;AT&#xA;TRS{idProduct}&apos; Error on CentOS 5 Bootup'/><author><name>Phil Lembo</name><uri>http://www.blogger.com/profile/12903060124984753907</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/-VNNlDkeT8Fo/TkS1Zt7SGqI/AAAAAAAAAYg/fL92Tvd-VI8/s220/philnew_sm.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-7257159388313913399.post-7517689281715796176</id><published>2007-04-14T21:35:00.000-04:00</published><updated>2007-05-02T15:58:58.106-04:00</updated><title type='text'>Adobe Acrobat Reader on CentOS 5</title><content type='html'>&lt;a href="http://isoredirect.centos.org/centos/5/isos/i386/"&gt;CentOS 5&lt;/a&gt; was released &lt;a href="http://lists.centos.org/pipermail/centos-announce/2007-April/013660.htm"&gt;yesterday&lt;/a&gt;. Went over to my favorite mirror last night and used &lt;a href="http://www.bittorrent.com/"&gt;Bittorrent&lt;/a&gt; to download the DVD. Got working on installing it on our Dell Inspiron 1200 laptop this morning, mostly because under previous versions of RedHat Enterprise/CentOS important stuff like hibernation never worked right -- something you really need on a low end laptop like this, since even running the most agressive power saving settings under Windows you only get 2 hours on the battery.&lt;br /&gt;&lt;br /&gt;Used the upgrade option, something I've only ever trusted &lt;a href="http://www.redhat.com"&gt;Red Hat&lt;/a&gt; to get right. For the most part things went smoothly. I did have to reinstall ndiswrapper (allows use of Windows wireless card drivers on Linux) because of the new kernel. I also had to reconfigure VMWare for the same reason. The post-install updates were pretty extensive for a new release, but at least half the upgraded packages were for 3rd party apps I'd originally installed from &lt;a href="http://rpmforge.net"&gt;RPMForge&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Surprisingly, the most aggravating bump in the road was &lt;a href="http://www.adobe.com"&gt;Adobe Acrobat Reader&lt;/a&gt;. With CentOS 4, I'd been using the latest version (7.0.9) installed from the rpm package without incident. After installing CentOS 5 it acroread just stopped working. Reinstalling the package from tar.gz, I found that acroread returned a "expr: syntax error" &lt;em&gt;ad infinitum&lt;/em&gt;. Googling around, I found a bunch of references to this from Fedora 6 users, but surprisingly nothing at all on the Red Hat Knowledgebase. The answer came in a series of questions and replies around a &lt;a href="http://www.adobeforums.com/cgi-bin/webx/.3bc26b0d"&gt;post&lt;/a&gt; in the Adobe user forum from Gaurav Khurana:&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt; A workaround to run acroread on Fedora Core 6 is to edit the file &amp;lt ReaderRoot&amp;gt/bin/acroread and replace the following line (line-no 644):&lt;br /&gt;&lt;br /&gt;check_gtk_ver_and_set_lib_path "$MIN_GTK_VERSION"&lt;br /&gt;&lt;br /&gt;with&lt;br /&gt;&lt;br /&gt;# check_gtk_ver_and_set_lib_path "$MIN_GTK_VERSION"&lt;br /&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;That post was dated December 21, 2006.&lt;br /&gt;&lt;br /&gt;The complete solution is to edit the acroread script by:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Adding "export GTK_IM_MODULE=xim" to the top; and&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Commenting line 644 (beginning "check_gtk_ver ...")&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;You've got to wonder why both Adobe and RedHat have failed to publish so much as a notification since then -- let alone a patch. It's not like we won't notice eventually. I pity the poor admin that does a mass upgrade of his orgs Red Hat workstations and discovers this problem the hard way, first thing the Monday morning after.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7257159388313913399-7517689281715796176?l=onemoretech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/7517689281715796176'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/7517689281715796176'/><link rel='alternate' type='text/html' href='http://onemoretech.blogspot.com/2007/04/centos-5-on-dell-inspiron-1200-part-one.html' title='Adobe Acrobat Reader on CentOS 5'/><author><name>Phil Lembo</name><uri>http://www.blogger.com/profile/12903060124984753907</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/-VNNlDkeT8Fo/TkS1Zt7SGqI/AAAAAAAAAYg/fL92Tvd-VI8/s220/philnew_sm.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-7257159388313913399.post-7307198723782486165</id><published>2007-04-06T10:28:00.000-04:00</published><updated>2007-08-19T18:11:59.136-04:00</updated><title type='text'>More About Me</title><content type='html'>&lt;em&gt;A little more detail on who I am and where I am in the tech world.&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;Technology is a second career for me, by choice. Before learning how to pull DRAM or edit files with vi, I spent 12 years as a trial lawyer both in government and private practice. That experience taught me the importance of paying attention to detail, and how to learn most of what I need to know from self-study. Although I did pretty well at the bar, the work became all-consuming for me. As one of my mentors used to say, "the law is a jealous mistress". The search for a more balanced existence put me on the road that eventually led to Microsoft school, where I began learning how to be a tech professional.&lt;br /&gt;&lt;br /&gt;For the last 7 years I've concentrated on directory services and identity management. Prior to that I worked mostly in desktop support and engineering. I have a technical blog on things LDAP at &lt;a href="http://eldapo.blogspot.com/"&gt;eldapo.blogspot.com&lt;/a&gt;, where I try to share some of what I've learned in my efforts to master the business of directory systems administration. I hope some people find it a useful resource.&lt;br /&gt;&lt;br /&gt;In addition to some vendor certifications and my law degree, I've also done graduate work in history -- for the non-digital side of my brain.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Education&lt;br /&gt;&lt;br /&gt;&lt;/strong&gt;&lt;em&gt;B.A., Humanities. State University of New York (1979)&lt;br /&gt;J.D., Law. Rutgers University School of Law (1982)&lt;br /&gt;M.A., History. Long Island University (1989)&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Current Assignments&lt;br /&gt;&lt;br /&gt;&lt;/strong&gt;&lt;em&gt;Information Systems Engineer, a Fortune 500 Company.&lt;/em&gt;&lt;br /&gt;Morrisville, N.C.&lt;br /&gt;&lt;br /&gt;Technical Lead on:&lt;br /&gt;&lt;br /&gt;   * Global Directory Architecture&lt;br /&gt;   * Web Applications Hosting&lt;br /&gt;   * Desktop Engineering&lt;br /&gt;&lt;br /&gt;Associate engineer on:&lt;br /&gt;&lt;br /&gt;   * Oracle ERP&lt;br /&gt;   * Netegrity SiteMinder&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Areas of Interest:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;   * Directory services design and maintenance&lt;br /&gt;   * Enterprise applications for Open Source software&lt;br /&gt;   * UNIX/Windows Integration and Interoperability&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Certifications:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;   * Red Hat Certified Technician&lt;br /&gt;   * Microsoft Certified Systems Engineer (Expired)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7257159388313913399-7307198723782486165?l=onemoretech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/7307198723782486165'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/7307198723782486165'/><link rel='alternate' type='text/html' href='http://onemoretech.blogspot.com/2007/04/more-about-me.html' title='More About Me'/><author><name>Phil Lembo</name><uri>http://www.blogger.com/profile/12903060124984753907</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/-VNNlDkeT8Fo/TkS1Zt7SGqI/AAAAAAAAAYg/fL92Tvd-VI8/s220/philnew_sm.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-7257159388313913399.post-2601337639002965022</id><published>2007-03-30T14:58:00.000-04:00</published><updated>2007-04-21T11:34:05.194-04:00</updated><title type='text'>'Setup cannot copy the file staxmem.dll'</title><content type='html'>Living in a cross-platform world can be frustrating.&lt;br /&gt;&lt;br /&gt;I got this error when trying to install IIS (Internet Information Server) on my Windows XP SP2 company laptop.&lt;br /&gt;&lt;br /&gt;A quick lookup on &lt;a href="http://www.microsoft.com/technet"&gt;Microsoft TechNet&lt;/a&gt; revealed the answer, &lt;a href="http://suppport.microsoft.com/kb/894351"&gt;Article ID 894351&lt;/a&gt;. Turns out my problem was the the local group policy database on my machine was corrupted. This was apparently collateral damage resulting from having the SP2 (Service Pack 2) update installed.&lt;br /&gt;&lt;br /&gt;Repairing the GP database was pretty easy. Here are the steps I took:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Restart system in Safe Mode.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Open a command prompt and run&lt;br /&gt;&lt;br /&gt;     &lt;strong&gt;esenutl /p c:\windows\security\database\secedit.sdb&lt;/strong&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;You should get a return that ends with something like "...Integrity Check Successful". If you do, you're good.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Restart Windows into normal mode.&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;If repairing fails, then you need to follow the instructions in the article that describe how to rebuild the security database. This is a multi-step procedure that needs to be done in Safe Mode, so make sure you print out the article before beginning!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7257159388313913399-2601337639002965022?l=onemoretech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/2601337639002965022'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/2601337639002965022'/><link rel='alternate' type='text/html' href='http://onemoretech.blogspot.com/2007/03/setup-cannot-copy-file-staxmemdll.html' title='&apos;Setup cannot copy the file staxmem.dll&apos;'/><author><name>Phil Lembo</name><uri>http://www.blogger.com/profile/12903060124984753907</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/-VNNlDkeT8Fo/TkS1Zt7SGqI/AAAAAAAAAYg/fL92Tvd-VI8/s220/philnew_sm.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-7257159388313913399.post-4285195077395974081</id><published>2007-03-29T10:20:00.000-04:00</published><updated>2007-04-04T01:45:43.050-04:00</updated><title type='text'>Oracle DB Init Script for Red Hat</title><content type='html'>Here it is, taken from my old personal web site:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;/etc/init.d/oracle&lt;br /&gt;#!/bin/bash&lt;br /&gt;#&lt;br /&gt;# chkconfig: 35 95 1&lt;br /&gt;# description: init script to start/stop oracle database 10g, TNS listener&lt;br /&gt;#&lt;br /&gt;#&lt;br /&gt;# match these values to your environment:&lt;br /&gt;export ORACLE_BASE=/u01/db/oracle&lt;br /&gt;export ORACLE_HOME=/u01/db/oracle/product/10.2.0&lt;br /&gt;export PATH=$ORACLE_HOME/bin:$PATH&lt;br /&gt;export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH&lt;br /&gt;export ORACLE_SID=orcl1&lt;br /&gt;export ORACLE_USER=oracle&lt;br /&gt;&lt;br /&gt;# see how we are called:&lt;br /&gt;case $1 in&lt;br /&gt;    start)&lt;br /&gt;    echo "Starting Oracle database ..."&lt;br /&gt;    su - "$ORACLE_USER" &amp;lt&amp;lt EOO&lt;br /&gt;    lsnrctl start&lt;br /&gt;    sqlplus /nolog &amp;lt&amp;lt EOS&lt;br /&gt;    connect / as sysdba&lt;br /&gt;    startup&lt;br /&gt;EOS&lt;br /&gt;EOO&lt;br /&gt;    ;;&lt;br /&gt;&lt;br /&gt;    stop)&lt;br /&gt;    echo "Stopping Oracle database ..."&lt;br /&gt;    su - "$ORACLE_USER" &amp;lt&amp;lt EOO&lt;br /&gt;    sqlplus /nolog &amp;lt&amp;lt EOS&lt;br /&gt;    connect / as sysdba&lt;br /&gt;    shutdown&lt;br /&gt;EOS&lt;br /&gt;    lsnrctl stop&lt;br /&gt;EOO&lt;br /&gt;    ;;&lt;br /&gt;&lt;br /&gt;    *)&lt;br /&gt;    echo "Usage: $0 {start|stop}"&lt;br /&gt;    ;;&lt;br /&gt;esac&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Remmmeber to use "chkconfig add" to register this script, and "chkconfig on" to enable it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7257159388313913399-4285195077395974081?l=onemoretech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/4285195077395974081'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/4285195077395974081'/><link rel='alternate' type='text/html' href='http://onemoretech.blogspot.com/2007/03/oracle-db-init-script-for-red-hat.html' title='Oracle DB Init Script for Red Hat'/><author><name>Phil Lembo</name><uri>http://www.blogger.com/profile/12903060124984753907</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/-VNNlDkeT8Fo/TkS1Zt7SGqI/AAAAAAAAAYg/fL92Tvd-VI8/s220/philnew_sm.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-7257159388313913399.post-6427281349994599279</id><published>2007-03-29T09:27:00.000-04:00</published><updated>2007-03-30T16:17:51.801-04:00</updated><title type='text'>DST Update</title><content type='html'>Mongolia has abolished Daylight Savings Time.&lt;br /&gt;&lt;br /&gt;See the Red Hat errata update, &lt;a href="https://rhn.redhat.com/errata/RHEA-2007-0128.html"&gt;RHEA-2007:0128-3&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;There are also changes for Nunavut/Resolute, Cuba and Turkey in there.&lt;br /&gt;&lt;br /&gt;"Daylight Savings Time Change: The Tech Full Employment Opportunity of 2007"&lt;br /&gt;&lt;br /&gt;I wonder if this will require another gigabyte patch from Oracle.&lt;br /&gt;&lt;br /&gt;(I wish I was joking about that last one)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7257159388313913399-6427281349994599279?l=onemoretech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/6427281349994599279'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/6427281349994599279'/><link rel='alternate' type='text/html' href='http://onemoretech.blogspot.com/2007/03/dst-update.html' title='DST Update'/><author><name>Phil Lembo</name><uri>http://www.blogger.com/profile/12903060124984753907</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/-VNNlDkeT8Fo/TkS1Zt7SGqI/AAAAAAAAAYg/fL92Tvd-VI8/s220/philnew_sm.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-7257159388313913399.post-1071134696656997428</id><published>2007-03-28T23:06:00.000-04:00</published><updated>2007-05-22T11:23:20.240-04:00</updated><title type='text'>Oracle Database 10g Install and Upgrade</title><content type='html'>Just a few random notes on my second or third time installing and upgrading the latest Oracle Database 10g distro from Oracle (I'm currently working my way through the Oracle-approved self-study book for the OCA test, &lt;a href="http://www.amazon.com/Oracle-Database-Certification-Guide-Handbook/dp/0072257903/ref=pd_bbs_2/104-7417779-7567143?ie=UTF8&amp;s=books&amp;amp;amp;qid=1175178672&amp;amp;sr=8-2"&gt;"Oracle Database 10g OCP Certification All-In-One Exam Guide"&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;This was all done in a CentOS 4.4 VMWare Server guest, running on CentOS 4.4 itself. Prior to beginning  "yum update" was run on the guest to make sure all the latest updates were applied. I went with a "Custom Install, during which the full X-Windows, Gnome Desktop, and Legacy Development package groups were selected during installation of the OS, to make sure the prerequisites were there for running Oracle's gui installer. You also need to check off sysstat in the System Admin group, as it is not installed by default. Use the standard "Server" install and you're going to waste alot of time installing these packages individually.&lt;br /&gt;&lt;br /&gt;The latest download available from Oracle Technology Network is 10.2.0.1, which a couple of months ago would have been just fine for me. The DST issue changed that. The "recommended" DST patch for the database proper is for 10.2.0.3, thus requiring that the shipping version get upgraded.&lt;br /&gt;&lt;br /&gt;So here's what I did:&lt;br /&gt;&lt;br /&gt;Got the &lt;a href="http://download-east.oracle.com/docs/cd/B19306_01/install.102/b28052/toc.htm"&gt;"Quick Installation Guide for Linux x86"&lt;/a&gt;, and prepped my platform by making required kernel parameter changes (all via sysctl.conf and sysctl command). Also installed a couple of required packages that were not already on the machine.&lt;br /&gt;&lt;br /&gt;Downloaded 10.2.0.1 for Linux on x86, &lt;span style="color:red;"&gt;10201_database_linux32.zip&lt;/span&gt;, as well as patches. Unzipped the main file, cd to root of "database" folder and executed "./runInstaller" in X session to install database.&lt;br /&gt;&lt;br /&gt;&lt;em&gt;Note: If installing on an "unsupported" system like CentOS, you'll need to execute "./runInstaller -ignoreSysPrereqs".&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;Installed database. Followed the &lt;em&gt;old&lt;/em&gt; Optimum Flexible Architecture (OFA) standard (oraInventory in /u01/db/oracle/oraInventory, ORACLE_HOME in /u01/db/oracle/product/10.2.0, ORACLE_SID orcl1, etc. -- the new standard would make it something like /u01/app/oracle/product/10.2.0/db1, I guess).&lt;br /&gt;&lt;br /&gt;Set up oracle user environment, for me that was adding lines to export $ORACLE_BASE, $ORACLE_HOME, $ORACLE_SID, $JAVA_HOME (defined as $ORACLE_HOME/jdk), $PATH and $LD_LIBRARY_PATH to user oracle's .bash_profile, and then re-logging back in to make sure it took.&lt;br /&gt;&lt;br /&gt;Kept listener up, stopped database (normally would stop dbconsole first, but it failed to start on initial install because of Java DST issue).&lt;br /&gt;&lt;br /&gt;Applied OVM patch, &lt;span style="color:red;"&gt;p5865568_10201_GENERIC.zip&lt;/span&gt; AFTER READING THE DIRECTIONS. Then, required by the directions, ran "startup migrate" to compile in changes to the db tables. Restarted database and console (dbconsole now started OK).&lt;br /&gt;&lt;br /&gt;Stopped console and then database. Installed patch, &lt;span style="color:red;"&gt;p5632264_10203_LINUX.zip&lt;/span&gt;, to bring the database up to 10.2.0.3 level. This was a BIG patch. Almost a gig. Actually created a "Disk1" folder from which I ran a new "runInstaller" command. First upgraded oraInventory to latest version, then moved on to updating all the product files.&lt;br /&gt;&lt;br /&gt;Stop console and db. Ran Upgrade Assistant as directed by the doc. This was another interactive gui like runInstaller, took a long time to complete.&lt;br /&gt;&lt;br /&gt;Finally applied patch &lt;span style="color:red;"&gt;p5337014_10203_LINUX.zip&lt;/span&gt;, to settle remaining DST issues (stop console and db before executing "opatch apply").&lt;br /&gt;&lt;br /&gt;Restarted the db and console.&lt;br /&gt;&lt;br /&gt;Set up &lt;a href="http://onemoretech.blogspot.com/2007/03/oracle-db-init-script-for-red-hat.html"&gt;init script&lt;/a&gt; for db and used chkconfig to enable it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7257159388313913399-1071134696656997428?l=onemoretech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/1071134696656997428'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/1071134696656997428'/><link rel='alternate' type='text/html' href='http://onemoretech.blogspot.com/2007/03/oracle-database-10g-install-and-upgrade.html' title='Oracle Database 10g Install and Upgrade'/><author><name>Phil Lembo</name><uri>http://www.blogger.com/profile/12903060124984753907</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/-VNNlDkeT8Fo/TkS1Zt7SGqI/AAAAAAAAAYg/fL92Tvd-VI8/s220/philnew_sm.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-7257159388313913399.post-5356963605640731964</id><published>2007-03-23T10:03:00.000-04:00</published><updated>2007-06-07T07:59:22.535-04:00</updated><title type='text'>Watching RTSP Streams on Linux</title><content type='html'>&lt;a href="http://www.cs.columbia.edu/~hgs/rtsp/"&gt;Real Time Streaming Protocol&lt;/a&gt; is an open Internet standard for streaming video programming. It is used by &lt;a href="http://www.c-span.org"&gt;C-SPAN&lt;/a&gt; to deliver free streams of it's public service programming and is supported by both the open source &lt;a href="http://www.helixcommunity.org"&gt;Helix Community&lt;/a&gt; and free commercial &lt;a href="http://www.real.com"&gt;Real&lt;/a&gt; Players.&lt;br /&gt;&lt;br /&gt;The Firefox and Mozilla browsers are not always configured to play RTSP as shipped in most Linux distributions. Configuring Mozilla/Firefox to handle this protocol involves typing "about:config" in the address bar and adding a new handler directive by right-clicking on any one of the existing parameters and selecting "new --&gt; string" and then typing "network.protocol-handler.app.rtsp". Once this is entered, the full path to the Helix or Real Player binary is entered in the next value window (e.g. "/usr/bin/realplay").&lt;br /&gt;&lt;p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7257159388313913399-5356963605640731964?l=onemoretech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/5356963605640731964'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/5356963605640731964'/><link rel='alternate' type='text/html' href='http://onemoretech.blogspot.com/2007/03/watching-rtsp-streams-on-linux.html' title='Watching RTSP Streams on Linux'/><author><name>Phil Lembo</name><uri>http://www.blogger.com/profile/12903060124984753907</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/-VNNlDkeT8Fo/TkS1Zt7SGqI/AAAAAAAAAYg/fL92Tvd-VI8/s220/philnew_sm.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-7257159388313913399.post-7682429021126117451</id><published>2007-03-16T16:43:00.000-04:00</published><updated>2007-07-02T15:23:14.633-04:00</updated><title type='text'>Oracle Instantclient and DBD::Oracle</title><content type='html'>&lt;em&gt;Note: I cleaned this up a bit from the original, mostly making sure that the path information was consistent. For awhile I used to install this in /usr/lib/oracle, but that was insane. From a "where is my third-party software" perspective /opt/oracle makes so much more sense!&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;This is basically a cut-and-paste from my old personal website. Had to use this today, so I thought I'd share it here. NOTE: I'm back to using the .zip files from Oracle now, after trying the rpms for a month or two. Problem is that most stuff, like PHP's OCA module and Perl's DBD::Oracle, don't compile easily with the filesystem layout Oracle chose for the rpms. Just another example of how hard it is to change a "standard" once you've let it out into the wild.&lt;br /&gt;&lt;br /&gt;Getting all the pieces in place to use DBD::Oracle can be a real pain. Since Oracle released it's "Instant Client" this was supposed to have gotten easier, and over time, it has. The procedure set out here has been used to successfully compile and install DBD::Oracle on both Red Hat Enterprise 3 and 4 using Oracle Instant Client version 10.2.0.3 (which is the latest as of this writing).&lt;br /&gt;&lt;br /&gt;This procedure uses the latest Makefile.PL (in DBD-Oracle-1.19) from the &lt;a href="http://www.pythian.com"&gt;Pythian Group&lt;/a&gt;, who have taken over maintenance of DBD::Oracle from Tim Bunce.&lt;br /&gt;&lt;br /&gt;To begin, download the Instant Client zip files for Linux from Oracle.&lt;br /&gt;&lt;br /&gt;These are the files you'll need:&lt;br /&gt;&lt;pre&gt;instantclient-basic-linux32-[version].zip&lt;br /&gt;instantclient-sqlplus-linux32-[version].zip&lt;br /&gt;instantclient-sdk-linux32-[version].zip&lt;/pre&gt;&lt;br /&gt;Extract these files into /opt/oracle. This will create a subdirectory with a name like "instantclient_10_2". The binaries and library files will be in the root, while the headers will be under instantclient_10_2/sdk/include.&lt;br /&gt;&lt;br /&gt;Now it's time to configure the environment. Do the following:&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;Use ldconfig to register the libraries. As root, go into /etc/ld.so.conf and add a line with the full path to those libraries - /opt/oracle/instantclient_10_2. Next run /sbin/ldconfig. Use "/sbin/ldconfig -p" to verify the libraries are now in the current cache.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Create a file called oracle.sh in /etc/profile.d to set the global environment to include the requisite Oracle environment for each user. Enter the following lines into it:&lt;br /&gt;&lt;pre&gt;#!/bin/bash&lt;br /&gt;# Oracle environment&lt;br /&gt;export ORACLE_HOME=/opt/oracle/instantclient_10_2&lt;br /&gt;export TNS_ADMIN=/opt/oracle/instantclient_10_2&lt;/pre&gt;&lt;br /&gt;Log out and then back in and confirm that the enviroment has been set correctly by doing an echo $ORACLE_HOME and echo $TNS_ADMIN.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Create a symlink in PATH to sqlplus, thus:&lt;br /&gt;&lt;pre&gt;ln -s /opt/oracle/instantclient_10_2/sqlplus /usr/bin/sqlplus&lt;/pre&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Test sqlplus against your favorite Oracle database. While all environments differ, make sure to follow the following syntax when invoking the utility (I use a tnsnames.ora file on my network, and these examples reflect that):&lt;br /&gt;&lt;pre&gt;sqlplus [username]/[userpass]@[tnsentry]&lt;br /&gt;To connect without a tnsnames file, do this:&lt;br /&gt;sqlplus [username]/[userpass]@//[servername]:[port]/[servicename]&lt;/pre&gt;&lt;br /&gt;You should get connected. To verify you're actually in, issue a PS SQL command, like "SHOW ALL" to see the server environment.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Get the DBD::Oracle tarball from CPAN.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Unarchive the tarball&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Execute the Makefile.PL with "perl Makefile.PL"&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Do an "make" and "make install"&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;That's it. You're done!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7257159388313913399-7682429021126117451?l=onemoretech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/7682429021126117451'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/7682429021126117451'/><link rel='alternate' type='text/html' href='http://onemoretech.blogspot.com/2007/03/oracle-instantclient.html' title='Oracle Instantclient and DBD::Oracle'/><author><name>Phil Lembo</name><uri>http://www.blogger.com/profile/12903060124984753907</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/-VNNlDkeT8Fo/TkS1Zt7SGqI/AAAAAAAAAYg/fL92Tvd-VI8/s220/philnew_sm.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-7257159388313913399.post-2919025808021149241</id><published>2007-03-15T01:09:00.000-04:00</published><updated>2007-03-15T01:27:54.779-04:00</updated><title type='text'>Red Hat 5 Released</title><content type='html'>Not Red Hat Linux 5 (which was released in 1997), but Red Hat Enterprise Linux (RHEL) 5, released today. Shortly after watching the launch &lt;a href="http://www.redhat.com/solutions/thankyou/"&gt;webcast&lt;/a&gt;, I went up to &lt;a href="http://www.redhat.com"&gt;Red Hat&lt;/a&gt; and plunked down $80 for my own personal basic &lt;strong&gt;RHEL&lt;/strong&gt; 5 Desktop subscription. Took about an hour for my sub to be recognized by &lt;a href="https://www.redhat.com/rhn/"&gt;Red Hat Network&lt;/a&gt;, but I got "pending" access right away and so could immediately start downloading the isos. Had to abort after a half hour because of the crummy bandwidth into the branch office I work out of. I later continued the download when I got home, where my local cable company consistently delivers a megabits-speed connection.&lt;br /&gt;&lt;br /&gt;What I'm really looking forward to is finally getting a chance to work with a production-ready installation of &lt;a href="http://www.xensource.com"&gt;xen virtualization&lt;/a&gt;. Both at work and home I've used &lt;a href="http://www.vmware.com"&gt;VMWare&lt;/a&gt; extensively to build out whole test networks on a single box. It will be interesting to see how an open source xen, integrated into RHEL, fares.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7257159388313913399-2919025808021149241?l=onemoretech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/2919025808021149241'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/2919025808021149241'/><link rel='alternate' type='text/html' href='http://onemoretech.blogspot.com/2007/03/red-hat-5-released.html' title='Red Hat 5 Released'/><author><name>Phil Lembo</name><uri>http://www.blogger.com/profile/12903060124984753907</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/-VNNlDkeT8Fo/TkS1Zt7SGqI/AAAAAAAAAYg/fL92Tvd-VI8/s220/philnew_sm.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-7257159388313913399.post-7554044657976802371</id><published>2007-03-08T12:10:00.000-05:00</published><updated>2007-08-30T13:26:37.080-04:00</updated><title type='text'>Tech Links Dump</title><content type='html'>Here's my most often-used list of tech links:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;LDAP&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.networksorcery.com/enp/protocol/ldap.htm"&gt;LDAP RFC's and Controls&lt;/a&gt;&lt;br /&gt;&lt;a href="http://directory.fedora.redhat.com"&gt;Fedora Directory Project&lt;/a&gt;&lt;br /&gt;&lt;a href="http://phpldapadmin.sourceforge.net/"&gt;phpLDAPAdmin LDAP Browser&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.mozilla.org/directory/csdk-docs/error.htm"&gt;LDAP v3 Result Codes&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.ietf.org/html.charters/ldapbis-charter.html"&gt;IETF LDAP Revision (v3) Working Group&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.ietf.org/rfc/rfc2251.txt"&gt;RFC2251: LDAP Protocol v3&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.openldap.org/doc/admin22/"&gt;OpenLDAP Administrator's Guide&lt;/a&gt;&lt;br /&gt;&lt;a href="http://ldap.perl.org/"&gt;Perl-LDAP Home Page&lt;/a&gt;&lt;br /&gt;&lt;a href="http://groups.google.com/group/perl.ldap/"&gt;Perl-LDAP Google Group&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.mozilla.org/directory/csdk.html"&gt;Netscape LDAP SDK for C&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.mozilla.org/directory/javasdk.html"&gt;Netscape Java SDK for LDAP&lt;/a&gt;&lt;br /&gt;&lt;a href="http://docs.sun.com/db/coll/S1_ipDirectoryServer_51"&gt;iPlanet 5.1 Directory Server Docs&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.oracle.com/technology/obe/obe_as_10g/im/index.html"&gt;Oracle by Example: Identity Management&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.oracle.com/technology/products/id_mgmt/index.html"&gt;Oracle Identity Management (OTN Site)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.oracle.com/technology/products/id_mgmt/index.html"&gt;Oracle Identity Management Solutions&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.oracle.com/products/middleware/identity-management/resource-library.html"&gt;Oracle Identity Management Resource Library&lt;/a&gt;&lt;br /&gt;&lt;a href="http://download-east.oracle.com/docs/cd/B28196_01/index.htm" &gt;Oracle Identity Management 10g Product Doc&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.iit.edu/~gawojar/ldap/"&gt;LDAP Browser-Editor&lt;/a&gt;&lt;br /&gt;&lt;a href="http://blogs.oracle.com/mwilcox/"&gt;Virtual Identity Dialog (Mark Wilcox's Blog)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://blogs.sun.com/roller/page/DirectoryManager?catname=/Sun"&gt;cn=Directory Manager Blog&lt;/a&gt;&lt;br /&gt;&lt;a href="http://eldapo.blogspot.com"&gt;eldapo's Blog&lt;/a&gt;&lt;br /&gt;&lt;a href="http://robbieallen.com/scripting"&gt;Robbie Allen's Scripting Page&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;DEVELOPMENT&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.w3.org/TR/html4/"&gt;W3C HTML 4.01 Specs&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.w3.org/Style/CSS/"&gt;Cascading Style Sheets (CSS)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.dynamicdrive.com/"&gt;Dynamic Drive, DHTML Resources&lt;/a&gt;&lt;br /&gt;&lt;a href="http://search.cpan.org/"&gt;Perl CPAN Archive&lt;/a&gt;&lt;br /&gt;&lt;a href="http://phprpms.sourceforge.net/"&gt;PHP: The Missing RPMS&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.php.net/manual/en/"&gt;PHP Manual&lt;/a&gt;&lt;br /&gt;&lt;a href="http://java.sun.com/docs/books/tutorial/index.html"&gt;The Java Tutorial&lt;/a&gt;&lt;br /&gt;&lt;a href="http://sourceforge.net/"&gt;SourceForge Main Page&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.onjava.com/pub/a/onjava/2003/10/15/php_scalability.html"&gt;The PHP Scalability Myth&lt;/a&gt;&lt;br /&gt;&lt;a href="http://shiflett.org/archive/46"&gt;PHP Scales&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.developer.com/lang/article.php/918141"&gt;On the Security of PHP, Part I&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.developer.com/lang/article.php/922871"&gt;On the Security of PHP, Part II&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.onlamp.com/pub/a/php/2003/07/31/php_foundations.html"&gt;PHP Security, Part I&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.onlamp.com/pub/a/php/2003/08/28/php_foundations.html"&gt;PHP Security, Part II&lt;/a&gt;&lt;br /&gt;&lt;a href="http://phpsec.org/"&gt;PHP Security Consortium&lt;/a&gt;&lt;br /&gt;&lt;a href="http://phpsecurity.org/"&gt;Essential PHP Security Companion Site&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.securephpwiki.com/index.php/Main_Page"&gt;PHP Security Wiki&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.sitepoint.com/article/php-security-blunders"&gt;Top 7 PHP Security Blunders&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www-128.ibm.com/developerworks/opensource/library/os-php-read/#security"&gt;Recommended PHP Reading List&lt;/a&gt;&lt;br /&gt;&lt;a href="http://public.yahoo.com/~radwin/talks/yahoo-phpcon2002.htm"&gt;Making the Case for PHP at Yahoo&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.sitepoint.com/blogs/2004/07/01/the-j2ee-guy-still-doesnt-get-php/"&gt;The J2EE Guy Still Doesn't Get PHP&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.oreillynet.com/onlamp/blog/2006/04/digg_phps_scalability_and_perf.html"&gt;Digg PHP's Scalability and Performance&lt;/a&gt;&lt;br /&gt;&lt;a href="http://damienkatz.net/2006/05/signs_youre_a_c.html"&gt;Signs You're A Crappy Programmer&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.xs4all.nl/~peterned/"&gt;Peterned, web markup, scripting, etc.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;APPLICATIONS&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://httpd.apache.org/docs-2.0/"&gt;Apache 2.0 Docs&lt;/a&gt;&lt;br /&gt;&lt;a href="http://dev.mysql.com/doc/mysql/en/index.html"&gt;MySQL Reference&lt;/a&gt;&lt;br /&gt;&lt;a href="http://durak.org/cvswebsites/doc/cvs.php"&gt;CVS - Concurrent Versions System&lt;/a&gt;&lt;br /&gt;&lt;a href="http://sial.org/howto/openssl/"&gt;OpenSSL Examples&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.drh-consultancy.demon.co.uk/pkcs12faq.html"&gt;OpenSSL PKCS#12 FAQ&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.madboa.com/geek/openssl/"&gt;OpenSSL Command Line Howto&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.adp-gmbh.ch/ora/admin/creatingdbmanually.html"&gt;Creating an Oracle 10g AS database manually&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.oracle-base.com/articles/10g/OracleAS10gAutomaticStartupShutdown.php"&gt;Oracle 10g AS Automatic Startup/Shutdown&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.dba-oracle.com/articles.htm"&gt;Burleson Consulting Oracle Articles&lt;/a&gt;&lt;br /&gt;&lt;a href="http://becomeappsdba.blogspot.com/"&gt;Become a Oracle Apps DBA&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.idevelopment.info/data/Oracle/DBA_tips/Linux/LINUX_12.shtml"&gt;Oracle DBA Tips: Oracle 10g Release 1 on CentOS&lt;/a&gt;&lt;br /&gt;&lt;a href="http://orafaq.com/scripts/"&gt;Oracle FAQ Script and Code Exchange&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.pythian.com/blogs/wp-content/uploads/introduction-dbd-oracle.html#fetching-data"&gt;An Introduction to DBD::Oracle&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.oracle-base.com/index.php"&gt;ORACLE-BASE&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;SYSTEMS&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.tldp.org"&gt;Linux Documentation Project&lt;/a&gt;&lt;br /&gt;&lt;a href="http://fedora.redhat.com/"&gt;Fedora Project&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.centos.org/"&gt;CentOS&lt;/a&gt;&lt;br /&gt;&lt;a href="http://centos.karan.org/"&gt;CentOS Extras&lt;/a&gt;&lt;br /&gt;&lt;a href="http://freshrpms.net/"&gt;Fresh RPMS&lt;/a&gt;&lt;br /&gt;&lt;a href="http://dag.wieers.com/home-made/apt/packages.php"&gt;DAG RPM Package Repository&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.redhat.com/docs/manuals/enterprise/RHEL-4-Manual/admin-guide/"&gt;Red Hat Introduction to System Administration&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.redhat.com/apps/support/knowledgebase/"&gt;Red Hat Knowledgebase&lt;/a&gt;&lt;br /&gt;&lt;a href="http://avi.alkalay.net/linux/docs/font-howto/Font.html"&gt;Optimal Use of Fonts on Linux&lt;/a&gt;&lt;br /&gt;&lt;a href="http://sunfreeware.mirrors.tds.net/"&gt;Sun Freeware&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/"&gt;FreeBSD Handbook&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.kernel.org/"&gt;Linux Kernel Archives&lt;/a&gt;&lt;br /&gt;&lt;a href="http://linuxmafia.com/faq/Hardware/sata.html"&gt;Serial ATA (SATA) on Linux&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.pdp8.net/"&gt;Online PDP-8 Home Page&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.mgmg-interactive.com/mgmg/solaris_8_packages.html"&gt;Solaris 8 Packages by Install Type&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.faqs.org/faqs/Solaris2/FAQ/"&gt;Solaris 2.x FAQ&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.gagme.com/greg/linux/"&gt;Gregory Gulik's Quick Linux Tips&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.mjmwired.net/resources"&gt;MJM Wired ;) Resources&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;REFERENCE&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.unicode.org/charts/"&gt;Unicode Code Charts&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.microsoft.com/globaldev/reference/iso.asp"&gt;ISO 8859 Character Sets&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.microsoft.com/globaldev/keyboards/keyboards.asp"&gt;PC Keyboard Layouts&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.iso.org/iso/en/prods-services/iso3166ma/02iso-3166-code-lists/list-en1.html"&gt;Country Codes&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.loc.gov/standards/iso639-2/php/code_list.php"&gt;Language Codes&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.timeanddate.com/"&gt;World Clock&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.lanshack.com/cat5e-tutorial.asp"&gt;Category 5 Cabling Tutorial&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7257159388313913399-7554044657976802371?l=onemoretech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/7554044657976802371'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/7554044657976802371'/><link rel='alternate' type='text/html' href='http://onemoretech.blogspot.com/2007/03/tech-links-dump.html' title='Tech Links Dump'/><author><name>Phil Lembo</name><uri>http://www.blogger.com/profile/12903060124984753907</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/-VNNlDkeT8Fo/TkS1Zt7SGqI/AAAAAAAAAYg/fL92Tvd-VI8/s220/philnew_sm.png'/></author></entry><entry><id>tag:blogger.com,1999:blog-7257159388313913399.post-4098797359832673915</id><published>2007-03-08T11:47:00.000-05:00</published><updated>2007-03-08T11:51:51.536-05:00</updated><title type='text'>Why this blog?</title><content type='html'>Because I need someplace to post stuff that doesn't belong on &lt;a href="http://eldapo.blogspot.com"&gt;Eldapo&lt;/a&gt;, my blog about things LDAP.&lt;br /&gt;&lt;br /&gt;I've got some static pages up on my &lt;a href="http://lembobrothers.com/~philip"&gt;personal site&lt;/a&gt;, but maintaining them is getting to be a drag. So now I'm going to try to use this blog to post what I usually put up there.&lt;br /&gt;&lt;br /&gt;Will try to keep this pretty technical. Don't think anyone's really interested in my views on anything else.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7257159388313913399-4098797359832673915?l=onemoretech.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/4098797359832673915'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7257159388313913399/posts/default/4098797359832673915'/><link rel='alternate' type='text/html' href='http://onemoretech.blogspot.com/2007/03/why-this-blog.html' title='Why this blog?'/><author><name>Phil Lembo</name><uri>http://www.blogger.com/profile/12903060124984753907</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://3.bp.blogspot.com/-VNNlDkeT8Fo/TkS1Zt7SGqI/AAAAAAAAAYg/fL92Tvd-VI8/s220/philnew_sm.png'/></author></entry></feed>
