<?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-34291892</id><updated>2011-07-28T18:51:42.293-07:00</updated><category term='php5'/><category term='DST'/><category term='timezone'/><category term='freebsd'/><category term='topotd'/><category term='core'/><title type='text'>Life With Unix</title><subtitle type='html'>Lessons learned by a long-time Unix system administrator  and programmer.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://lifewithunix.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34291892/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://lifewithunix.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>O'Shaug</name><uri>http://www.blogger.com/profile/17939911201857442011</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://isle.wumpus.org/pix/floyd_pepper.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>4</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-34291892.post-2307623612957930614</id><published>2009-10-06T11:14:00.001-07:00</published><updated>2009-10-06T11:29:54.259-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='topotd'/><title type='text'>O'SToPotD:  code smell</title><content type='html'>O'Shaughnessy's Turn of Phrase o' the Day is &lt;b&gt;"Code Smell"&lt;/b&gt;:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;div&gt;A code smell is a hint that something has gone wrong somewhere in your code.  Use the smell to track down the problem.&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Highly experienced and knowledgeable developers have a "feel" for good design.  Having reached a state of "Unconscious Competence," where they routinely practice good design without thinking about it too much, they find that they can look at a design or the code and immediately get a "feel" for its quality, without getting bogged down in extensive "logically detailed arguments".&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Excepts taken from &lt;a href="http://c2.com/xp/CodeSmell.html"&gt;Cunningham &amp;amp; Cunningham's Extreme Programming Roadmap&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Here's an example usage from &lt;a href="http://www.smashingmagazine.com/2009/04/08/from-table-hell-to-div-hell/"&gt;Smashing Magazine&lt;/a&gt;:&lt;br /&gt;&lt;blockquote&gt;Nested tables are code smell that a website is stuck in table hell.  The number of lines of code is endless, and the complexity is overwhelming.  Tables are far from clean code and don’t bring anything semantic to the content unless you’re dealing with actual tabular data.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Now go forth, spread the good word, and be wary of the smell.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34291892-2307623612957930614?l=lifewithunix.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lifewithunix.blogspot.com/feeds/2307623612957930614/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34291892&amp;postID=2307623612957930614' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34291892/posts/default/2307623612957930614'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34291892/posts/default/2307623612957930614'/><link rel='alternate' type='text/html' href='http://lifewithunix.blogspot.com/2009/10/ostopotd-code-smell.html' title='O&apos;SToPotD:  code smell'/><author><name>O'Shaug</name><uri>http://www.blogger.com/profile/17939911201857442011</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://isle.wumpus.org/pix/floyd_pepper.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34291892.post-4077658930063876039</id><published>2007-03-06T10:28:00.000-08:00</published><updated>2007-03-06T10:39:35.816-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='timezone'/><category scheme='http://www.blogger.com/atom/ns#' term='DST'/><title type='text'>Quick and easy FreeBSD DST updates</title><content type='html'>So congress made it interesting for computer admins everywhere this year by extending daylight savings time.  Life's going to be easier for us if we update the timezone files on our systems before March 11, 2007, and today I did a little digging to find out how to make FreeBSD systems compliant with the new rules.  It's pretty easy if you keep /usr/src current.  I've read that up-to-date FreeBSD 5.5 and 6.2 systems should have the right data, but I don't know if the zoneinfo files were backported to previous releases.  Here's whatcha wanna do:&lt;br /&gt;&lt;pre&gt;    # check if you need to update&lt;br /&gt;    zdump -v /etc/localtime | grep 2007 |head -2&lt;/pre&gt;&lt;br /&gt;If you see April 1, 2007, you need to update your timezone and probably your /usr/share/zoneinfo files:&lt;br /&gt;&lt;pre&gt;    (cd /usr/src/share/zoneinfo; make install)&lt;br /&gt;    tzsetup /usr/share/zoneinfo/PST8PDT&lt;/pre&gt;&lt;br /&gt;Then doublecheck that you got it all right with the zdump command again.  If you don't know the path of the right zoneinfo file, you can just run tzsetup without any args and it'll walk you through a little menu system to figure it out.  That gets real tedious if you have a lot of systems, though, so I took the time to find the right file.&lt;br /&gt;&lt;br /&gt;Apparently you can also install the misc/zoneinfo port, but you'll still have to run tzsetup when you're done.  If you have the right data in /usr/src, I don't see any value in using the port, and it just adds a little unnecessary mess to your ports db if you don't need it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34291892-4077658930063876039?l=lifewithunix.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lifewithunix.blogspot.com/feeds/4077658930063876039/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34291892&amp;postID=4077658930063876039' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34291892/posts/default/4077658930063876039'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34291892/posts/default/4077658930063876039'/><link rel='alternate' type='text/html' href='http://lifewithunix.blogspot.com/2007/03/quick-and-easy-freebsd-dst-updates.html' title='Quick and easy FreeBSD DST updates'/><author><name>O'Shaug</name><uri>http://www.blogger.com/profile/17939911201857442011</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://isle.wumpus.org/pix/floyd_pepper.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34291892.post-3514267251269121434</id><published>2007-01-05T13:50:00.000-08:00</published><updated>2007-01-05T14:00:22.578-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='freebsd'/><category scheme='http://www.blogger.com/atom/ns#' term='core'/><category scheme='http://www.blogger.com/atom/ns#' term='php5'/><title type='text'>FreeBSD + PHP 5.2 + Apache seg faults</title><content type='html'>I recently upgraded my FreeBSD php5 port to PHP 5.2.0.  After upgrading the Apache module and all the extensions, something was segfaulting whenever I would try to load &lt;a href="http://www.horde.org/"&gt;Horde&lt;/a&gt;.  I tried everything I could think of and dug around in the FreeBSD mailing lists for solutions.  The problem seemed to lie with the ordering of the PHP exentions in /usr/local/etc/php/extensions.ini.  According to &lt;a href="http://www.pingle.org/2006/10/18/php-crashes-extensions/"&gt;this page at pingle.org&lt;/a&gt; and some messages on freebsd-ports, the key is to load mysql.so, then imap.so, then sockets.so.  Tried that and every other suggestion I could find but nothing helped.&lt;br /&gt;&lt;br /&gt;Finally, I tried making my compiler optimizations less aggressive.  In /etc/make.conf, I normally have this:&lt;br /&gt;&lt;blockquote&gt;    CFLAGS=-O2 -pipe -funroll-loops -march=pentium4&lt;br /&gt;&lt;/blockquote&gt;but I just reduced it to "CFLAGS=-O" and recompiled php5 along with all my php5-* ports, then restarted Apache.  Finally Horde loaded!&lt;br /&gt;&lt;br /&gt;(Platform notes:  FreeBSD 5.x, but reports indicate this is also a problem at least on 6.x; Apache 2.2.x; PHP 5.1.6 was working fine with the aggressive compiler optimizations; host has Pentium4 XEONs.)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34291892-3514267251269121434?l=lifewithunix.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lifewithunix.blogspot.com/feeds/3514267251269121434/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34291892&amp;postID=3514267251269121434' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34291892/posts/default/3514267251269121434'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34291892/posts/default/3514267251269121434'/><link rel='alternate' type='text/html' href='http://lifewithunix.blogspot.com/2007/01/freebsd-php-52-apache-seg-faults.html' title='FreeBSD + PHP 5.2 + Apache seg faults'/><author><name>O'Shaug</name><uri>http://www.blogger.com/profile/17939911201857442011</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://isle.wumpus.org/pix/floyd_pepper.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34291892.post-116241488398077178</id><published>2006-11-01T12:43:00.000-08:00</published><updated>2006-11-01T13:01:23.990-08:00</updated><title type='text'>Hacking Plesk 8 for FreeBSD 6</title><content type='html'>I was recently in a situation where I had to upgrade &lt;a href="http://www.swsoft.com"&gt;Plesk&lt;/a&gt;, commercial domain-hosting software that lets you manage web, email, and database services through a nice web control panel.  It's pretty convenient software and it seems to work well.  I needed to migrate the service off an old RedHat box that was difficult to maintain, and I wanted the new system on FreeBSD.  The latest Plesk release, 8.0, is only supported on FreeBSD up to version 6.0, but the most current release at the time was 6.1.  I like to track RELENG_6 and I didn't want to downgrade the box, so I tried faking out the Plesk installer.&lt;br /&gt;&lt;br /&gt;To do that, I changed /usr/src/sys/conf/newvers.sh.  &lt;tt&gt;REVISION="6.1"&lt;/tt&gt; became &lt;tt&gt;&lt;i&gt;REVISION="6.0"&lt;/i&gt;&lt;/tt&gt; and &lt;tt&gt;BRANCH="STABLE"&lt;/tt&gt; became &lt;tt&gt;&lt;i&gt;BRANCH="STABLE61"&lt;/i&gt;&lt;/tt&gt;.  Modifying the BRANCH label wasn't strictly necessary, but it seemed wise to identify the true release in the kernel version data.  After that, I simply rebuilt and reinstalled the kernel (see /usr/src/Makefile if you're unfamiliar with the process), rebooted, and the Plesk installer worked without a hitch.&lt;br /&gt;&lt;br /&gt;I've been told by SWSoft support that Plesk 8.1 will support newer releases of FreeBSD 6, but I couldn't wait for that and I wasn't about to build a new box on FreeBSD 4 or 5.  (They're not &lt;i&gt;bad&lt;/i&gt;, but I prefer 6 now.)  I haven't had any troubles running Plesk 8 on that system, and as one who's more comfortable with FreeBSD than RedHat, I've been much happier managing this newer box.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34291892-116241488398077178?l=lifewithunix.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://lifewithunix.blogspot.com/feeds/116241488398077178/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34291892&amp;postID=116241488398077178' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34291892/posts/default/116241488398077178'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34291892/posts/default/116241488398077178'/><link rel='alternate' type='text/html' href='http://lifewithunix.blogspot.com/2006/11/hacking-plesk-8-for-freebsd-6.html' title='Hacking Plesk 8 for FreeBSD 6'/><author><name>O'Shaug</name><uri>http://www.blogger.com/profile/17939911201857442011</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://isle.wumpus.org/pix/floyd_pepper.jpg'/></author><thr:total>2</thr:total></entry></feed>
