<?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-6021256169505852427</id><updated>2011-12-16T12:05:25.823-08:00</updated><category term='pop3'/><category term='spa-942'/><category term='windows mobile 6.1'/><category term='wiki'/><category term='wireless'/><category term='dd-wrt'/><category term='Linux'/><category term='telnet'/><category term='windows mobile 6.5'/><category term='email'/><category term='antennas'/><category term='windows mobile'/><category term='nagios mdadm raid monitoring'/><category term='energy consumption'/><category term='spa-962'/><category term='hardware'/><category term='laptop'/><category term='hardware laptop eeePC'/><category term='moinmoin'/><category term='spa-941'/><title type='text'>tech poet - Ernesto Ongaro</title><subtitle type='html'>A personal blog about technology</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://techpoet.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6021256169505852427/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://techpoet.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Ernesto Ongaro</name><uri>http://www.blogger.com/profile/04102517836579717069</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_x3f21DSV4eo/S1S0CxlT8NI/AAAAAAAAAig/uAfxLombU1s/S220/DSC00867.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>41</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6021256169505852427.post-6124674595722639805</id><published>2011-12-15T17:57:00.000-08:00</published><updated>2011-12-16T12:05:25.896-08:00</updated><title type='text'>Flush Jaspersoft OLAP Cache from Talend/JasperETL</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;a href="http://www.jaspersoft.com/jasperetl"&gt;JaspersoftETL&lt;/a&gt; is a Java code generation tool designed to load your operational data into a&amp;nbsp;&lt;a href="http://en.wikipedia.org/wiki/Data_warehouse"&gt;data warehouse&lt;/a&gt;&amp;nbsp;and get it ready for reporting and analysis.&amp;nbsp;&amp;nbsp;&lt;a href="http://www.jaspersoft.com/jaspersoft-olap"&gt;Jaspersoft OLAP&lt;/a&gt;&amp;nbsp;takes advantage of aggregate tables and an in-memory cache to speed up queries. If you're running a nightly job to load the DW, it's a good idea to clear the OLAP cache at that time, otherwise your users will not take advantage of new data.&lt;br /&gt;&lt;br /&gt;There are several ways to clear the OLAP cache:&lt;br /&gt;&lt;ul style="text-align: left;"&gt;&lt;li&gt;Login with &lt;span class="s2"&gt;superuser &lt;/span&gt;privileges and display the OLAP Settings page.&lt;/li&gt;&lt;li&gt;In the OLAP Settings panel, click &lt;span class="s3"&gt;&lt;b&gt;Flush OLAP Cache&lt;/b&gt;&lt;/span&gt;.&amp;nbsp;&lt;/li&gt;&lt;li&gt;&lt;span class="s1"&gt;&lt;span class="Apple-tab-span"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;Using utilities such as cURL and wget, send an HTTP request to this URL: &lt;code&gt;http://server:8080/&lt;server&gt;&lt;port&gt;&lt;context-path&gt;olap/flush.html?j_username=superuser&amp;amp;j_password=&lt;superuser_password&gt;&lt;/superuser_password&gt;&lt;/context-path&gt;&lt;/port&gt;&lt;/server&gt;&lt;/code&gt;&lt;/li&gt;&lt;li&gt;Restart the application server instance.&amp;nbsp;&lt;/li&gt;&lt;li&gt;Call the Java API.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;I've created a small component that allows the clearing of cache via the URL method from a JasperETL/Talend job. Essentially it will prompt you for a username and password (and note that only superuser can clear the cache by default) and a server URL. The URL should point to something like &lt;code&gt;http://server:8080/jasperserver-pro/olap/flush.html&lt;/code&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;You may find the tJasperOLAPCache component on &lt;a href="http://www.talendforge.org/exchange/index.php?eid=443&amp;amp;product=tos&amp;amp;action=view&amp;amp;nav=1,1,1"&gt;talendforge.org&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-yyetbAxaLXo/Tuqk2yNLmgI/AAAAAAAABpk/KE5nvTvqVSE/s1600/Screen+shot+2011-12-15+at+5.29.28+PM.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="253" src="http://1.bp.blogspot.com/-yyetbAxaLXo/Tuqk2yNLmgI/AAAAAAAABpk/KE5nvTvqVSE/s400/Screen+shot+2011-12-15+at+5.29.28+PM.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;Another useful thing to do would be to use the &lt;a href="http://www.talendforge.org/exchange/index.php?eid=253&amp;amp;product=tos&amp;amp;action=view&amp;amp;nav=0,1,1"&gt;tJasperServerExec&lt;/a&gt; plugin to re-populate the cache.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6021256169505852427-6124674595722639805?l=techpoet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techpoet.blogspot.com/feeds/6124674595722639805/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6021256169505852427&amp;postID=6124674595722639805' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6021256169505852427/posts/default/6124674595722639805'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6021256169505852427/posts/default/6124674595722639805'/><link rel='alternate' type='text/html' href='http://techpoet.blogspot.com/2011/12/flush-jaspersoft-olap-cache-from.html' title='Flush Jaspersoft OLAP Cache from Talend/JasperETL'/><author><name>Ernesto Ongaro</name><uri>http://www.blogger.com/profile/04102517836579717069</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_x3f21DSV4eo/S1S0CxlT8NI/AAAAAAAAAig/uAfxLombU1s/S220/DSC00867.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-yyetbAxaLXo/Tuqk2yNLmgI/AAAAAAAABpk/KE5nvTvqVSE/s72-c/Screen+shot+2011-12-15+at+5.29.28+PM.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6021256169505852427.post-8783165347596192377</id><published>2011-12-01T17:50:00.000-08:00</published><updated>2011-12-01T17:50:43.728-08:00</updated><title type='text'>Using tGoogleAnalyticsInput in JasperETL/Talend</title><content type='html'>&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;&lt;div dir="ltr" style="text-align: left;" trbidi="on"&gt;This is a short article on getting Google Analytics into &lt;a href="http://www.jaspersoft.com/jasperetl"&gt;JaspersoftETL&lt;/a&gt;/&lt;a href="http://www.talend.com/"&gt;Talend ETL&lt;/a&gt; tools. &lt;a href="http://www.google.com/analytics/"&gt;Google Analytics&lt;/a&gt; has a nice interface and many great ways of analyzing web traffic, it'd be hard to beat the work Google did there. The purpose of this connector would be to bring the data into your own data warehouse and join it with other intelligence you might have. A great way to display the aggregated data would be with a BI tool like&amp;nbsp;&lt;a href="http://jaspersoft.com/"&gt;Jaspersoft&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I'm writing because the &lt;a href="http://blog.smile.fr/Recuperer-ses-donnees-de-trafic-de-GoogleAnalytics-avec-Talend-et-Smile"&gt;help for the tGoogleAnalyticsInput is in French&lt;/a&gt; and incomplete.&lt;br /&gt;&lt;br /&gt;So let's get started. You'll need JasperETL 4.1.2 or older (commercial editions &lt;a href="http://jaspersoft.com/"&gt;here&lt;/a&gt;, open source &lt;a href="http://jasperforge.org/"&gt;here&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;Installing the plugin:&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;a href="http://4.bp.blogspot.com/-L4o2riZbb8Y/TtgY5A-hoiI/AAAAAAAABlU/MJC_JhOi8N4/s1600/install.png" imageanchor="1" style="clear: left; margin-bottom: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-L4o2riZbb8Y/TtgY5A-hoiI/AAAAAAAABlU/MJC_JhOi8N4/s1600/install.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;Create a new Job Design and drag the tGoogleAnalyticsInput component from the Palette (under Internet):&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-3Nui1tv4YKo/TtgaOHVCR2I/AAAAAAAABlc/5EXfIquQkiM/s1600/component.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-3Nui1tv4YKo/TtgaOHVCR2I/AAAAAAAABlc/5EXfIquQkiM/s1600/component.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Configure the component. First start with finding some fields you'd like to use from the Google API:&amp;nbsp;http://code.google.com/apis/analytics/docs/gdata/dimsmets/dimsmets.html. Note that you need to have some metrics (can't be all dimensions, vice versa).&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;Here's an example schema (you'll have to put in the fields yourself):&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-IpIT5eUJln0/TtgdoTPN8lI/AAAAAAAABls/RLELzw_lrb8/s1600/schema.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-IpIT5eUJln0/TtgdoTPN8lI/AAAAAAAABls/RLELzw_lrb8/s1600/schema.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;Now configure the&amp;nbsp;component. In order to get your Profile ID (note it doesn't start with UA) read the cryptic Google Documentation about it. I got mine by examining the URL while logged into GA and looking at the &amp;amp;id= parameter.&lt;br /&gt;&lt;br /&gt;The "value" column comes directly from the Google API and will also have to be filled in. I've also found that I HAVE to filter on period. You can do 1980-2020 if you want to include everything.&amp;nbsp;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-ql9dEfeMvUE/Ttgdkq_k8LI/AAAAAAAABlk/81KWdYA3hds/s1600/component_configure.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-ql9dEfeMvUE/Ttgdkq_k8LI/AAAAAAAABlk/81KWdYA3hds/s1600/component_configure.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;Now you can run the the job and see your visitors:&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-QNd9JPccXr8/TtguHWtNXiI/AAAAAAAABl0/_uJVbva41xU/s1600/output.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-QNd9JPccXr8/TtguHWtNXiI/AAAAAAAABl0/_uJVbva41xU/s1600/output.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;Funny enough. If you're reading this right now then you will eventually flow through the GA database and the very job I'm displaying above ;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6021256169505852427-8783165347596192377?l=techpoet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techpoet.blogspot.com/feeds/8783165347596192377/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6021256169505852427&amp;postID=8783165347596192377' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6021256169505852427/posts/default/8783165347596192377'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6021256169505852427/posts/default/8783165347596192377'/><link rel='alternate' type='text/html' href='http://techpoet.blogspot.com/2011/12/using-tgoogleanalyticsinput-in.html' title='Using tGoogleAnalyticsInput in JasperETL/Talend'/><author><name>Ernesto Ongaro</name><uri>http://www.blogger.com/profile/04102517836579717069</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_x3f21DSV4eo/S1S0CxlT8NI/AAAAAAAAAig/uAfxLombU1s/S220/DSC00867.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-L4o2riZbb8Y/TtgY5A-hoiI/AAAAAAAABlU/MJC_JhOi8N4/s72-c/install.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6021256169505852427.post-3106879167341062789</id><published>2011-08-01T12:14:00.000-07:00</published><updated>2011-08-01T12:14:36.203-07:00</updated><title type='text'>Icinga Reporting with JasperReports Server - Part 2: Usage + Basic Report Development</title><content type='html'>Short tutorial, shows how to schedule a report, how to change the way you are prompted for parameters and some basic editing of reports within iReport&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;object width="320" height="266" class="BLOGGER-youtube-video" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" data-thumbnail-src="http://i.ytimg.com/vi/I3_wKmuWmsY/0.jpg"&gt;&lt;param name="movie" value="http://www.youtube.com/v/I3_wKmuWmsY?f=user_uploads&amp;c=google-webdrive-0&amp;app=youtube_gdata" /&gt;&lt;param name="bgcolor" value="#FFFFFF" /&gt;&lt;embed width="600" height="600"  src="http://www.youtube.com/v/I3_wKmuWmsY?f=user_uploads&amp;c=google-webdrive-0&amp;app=youtube_gdata" type="application/x-shockwave-flash"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6021256169505852427-3106879167341062789?l=techpoet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techpoet.blogspot.com/feeds/3106879167341062789/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6021256169505852427&amp;postID=3106879167341062789' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6021256169505852427/posts/default/3106879167341062789'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6021256169505852427/posts/default/3106879167341062789'/><link rel='alternate' type='text/html' href='http://techpoet.blogspot.com/2011/08/icinga-reporting-with-jasperreports_01.html' title='Icinga Reporting with JasperReports Server - Part 2: Usage + Basic Report Development'/><author><name>Ernesto Ongaro</name><uri>http://www.blogger.com/profile/04102517836579717069</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_x3f21DSV4eo/S1S0CxlT8NI/AAAAAAAAAig/uAfxLombU1s/S220/DSC00867.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6021256169505852427.post-4126077581702983630</id><published>2011-08-01T11:30:00.000-07:00</published><updated>2011-08-01T15:10:51.851-07:00</updated><title type='text'>Icinga Reporting with JasperReports Server - Part 1: Installation</title><content type='html'>A quick overview of how to install and configure the reporting add-on packages for Icinga (a Nagios Monitoring Fork), written for JasperReports Server.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;object class="BLOGGER-youtube-video" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0" data-thumbnail-src="http://i.ytimg.com/vi/SHLsTx3q6KY/0.jpg" height="266" width="320"&gt;&lt;param name="movie" value="http://www.youtube.com/v/SHLsTx3q6KY?f=user_uploads&amp;c=google-webdrive-0&amp;app=youtube_gdata" /&gt;&lt;param name="bgcolor" value="#FFFFFF" /&gt;&lt;embed width="600" height="600"  src="http://www.youtube.com/v/SHLsTx3q6KY?f=user_uploads&amp;c=google-webdrive-0&amp;app=youtube_gdata&amp;fmt=22" type="application/x-shockwave-flash"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;br /&gt;&lt;span id="goog_1872711880"&gt;&lt;/span&gt;&lt;span id="goog_1872711881"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6021256169505852427-4126077581702983630?l=techpoet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techpoet.blogspot.com/feeds/4126077581702983630/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6021256169505852427&amp;postID=4126077581702983630' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6021256169505852427/posts/default/4126077581702983630'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6021256169505852427/posts/default/4126077581702983630'/><link rel='alternate' type='text/html' href='http://techpoet.blogspot.com/2011/08/icinga-reporting-with-jasperreports.html' title='Icinga Reporting with JasperReports Server - Part 1: Installation'/><author><name>Ernesto Ongaro</name><uri>http://www.blogger.com/profile/04102517836579717069</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_x3f21DSV4eo/S1S0CxlT8NI/AAAAAAAAAig/uAfxLombU1s/S220/DSC00867.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6021256169505852427.post-5272021805257164550</id><published>2011-04-18T11:59:00.000-07:00</published><updated>2011-04-18T12:01:11.112-07:00</updated><title type='text'>Backing Up JasperServer in Linux</title><content type='html'>This is a sysadmin how-to for backing up JasperReports Server (formerly JasperServer) and it's database (MySQL only for now).&lt;br /&gt;&lt;br /&gt;I wrote a fairly robust script to&amp;nbsp;achieve&amp;nbsp;this task. It will read the database configuration from your default_master.properties file, work with several versions of JasperServer, delete old backups, write to the syslog and export the repository contents to file.&lt;br /&gt;&lt;br /&gt;First drop my backup script into your &lt;i&gt;&lt;js-install&gt;\buildomatic&lt;/js-install&gt;&lt;/i&gt; folder if you're using 4.0 and abovie, 3.7 and below put in your &lt;i&gt;/scripts&lt;/i&gt; folder.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Once the script is in place edit the variables at the top of the script:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;This is to signify that you're using JasperServer 3.7.1 and below:&lt;br /&gt;&lt;i&gt;IS_PRE_4=false&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;This is a name for the product:&lt;br /&gt;&lt;i&gt;PRODUCT_NAME="JRS-4.0-Pro"&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;This is where backups will be stored:&lt;br /&gt;&lt;i&gt;BACKUP_DEST="/home/ernesto/Dropbox/Backups"&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;This will delete old backups if set to true&lt;br /&gt;&lt;i&gt;DELETE_OLD=true&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;How many days to keep old backups&lt;br /&gt;&lt;i&gt;DAYS=120&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Now add it to your crontab. I will do it once a week in a lazy manner so will add the script to&amp;nbsp;vim /etc/cron.weekly/js-backups&lt;br /&gt;&lt;br /&gt;&lt;code&gt;#!/bin/bash&lt;/code&gt;&lt;br /&gt;&lt;code&gt;/usr/local/jaspersoft/jasperserver4/buildomatic/js-backup.sh&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The script will log to /var/log/messages:&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-V2KqR4Isxwg/Tajnswn4XUI/AAAAAAAAArk/jW6hQy_gcy4/s1600/log.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="105" src="http://4.bp.blogspot.com/-V2KqR4Isxwg/Tajnswn4XUI/AAAAAAAAArk/jW6hQy_gcy4/s640/log.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;The output files will look like this, I chose to stick them in my &lt;a href="http://dropbox.com/"&gt;Dropbox&lt;/a&gt; folder for off-site backups:&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-Nvnq569JUUQ/Tajn9xUTLuI/AAAAAAAAAro/nmKAmX-GJ0g/s1600/backup_dir.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="170" src="http://1.bp.blogspot.com/-Nvnq569JUUQ/Tajn9xUTLuI/AAAAAAAAAro/nmKAmX-GJ0g/s400/backup_dir.png" width="400" /&gt;&lt;/a&gt;&lt;a href="http://1.bp.blogspot.com/-Nvnq569JUUQ/Tajn9xUTLuI/AAAAAAAAAro/nmKAmX-GJ0g/s1600/backup_dir.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;br /&gt;&lt;/a&gt;&lt;a href="http://1.bp.blogspot.com/-Nvnq569JUUQ/Tajn9xUTLuI/AAAAAAAAAro/nmKAmX-GJ0g/s1600/backup_dir.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;br /&gt;&lt;/a&gt;&lt;a href="http://1.bp.blogspot.com/-Nvnq569JUUQ/Tajn9xUTLuI/AAAAAAAAAro/nmKAmX-GJ0g/s1600/backup_dir.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;br /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;You can download the script from this&lt;a href="http://jasperforge.org/plugins/espforum/view.php?group_id=112&amp;amp;forumid=102&amp;amp;topicid=86513"&gt;&amp;nbsp;jasperforge forum post&lt;/a&gt; or view it below:&lt;br /&gt;&lt;br /&gt;&lt;div class="snipplr_embed" id="snipplr_embed_52290"&gt;&lt;a href="http://snipplr.com/view/52290/jasperserver-backup-script/"&gt;Code snippet - JasperServer Backup Script&lt;/a&gt; on Snipplr&lt;/div&gt;&lt;script src="http://snipplr.com/js/embed.js" type="text/javascript"&gt;&lt;/script&gt;&lt;script src="http://snipplr.com/json/52290" type="text/javascript"&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6021256169505852427-5272021805257164550?l=techpoet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techpoet.blogspot.com/feeds/5272021805257164550/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6021256169505852427&amp;postID=5272021805257164550' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6021256169505852427/posts/default/5272021805257164550'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6021256169505852427/posts/default/5272021805257164550'/><link rel='alternate' type='text/html' href='http://techpoet.blogspot.com/2011/04/backing-up-jasperserver-in-linux.html' title='Backing Up JasperServer in Linux'/><author><name>Ernesto Ongaro</name><uri>http://www.blogger.com/profile/04102517836579717069</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_x3f21DSV4eo/S1S0CxlT8NI/AAAAAAAAAig/uAfxLombU1s/S220/DSC00867.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-V2KqR4Isxwg/Tajnswn4XUI/AAAAAAAAArk/jW6hQy_gcy4/s72-c/log.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6021256169505852427.post-3454014518549132326</id><published>2011-04-01T00:28:00.000-07:00</published><updated>2011-04-01T00:28:14.710-07:00</updated><title type='text'>Music Player Daemon w/ lame Support in Debian</title><content type='html'>Trying to get my old Blackberry to stream from my &lt;a href="http://www.musicpd.org/"&gt;mpd&lt;/a&gt; server, it turns out the built in http stream output is not compiled with lame encoder (mp3) support. Here are some instructions on building the source package with the lame encoder options compiled in for Debian Squeeze (6.0)&lt;br /&gt;&lt;br /&gt;(as root)&lt;br /&gt;Install libmp3lame0 and lame from http://debian-multimedia.org/&lt;br /&gt;&lt;blockquote&gt;cd /tmp/&lt;/blockquote&gt;Get the build dependencies for mpd:&lt;br /&gt;&lt;blockquote&gt;apt-get build-dep mpd&lt;/blockquote&gt;Get the mpd source package:&lt;br /&gt;&lt;blockquote&gt;apt-get source mpd&amp;nbsp;&lt;/blockquote&gt;&lt;blockquote&gt;cd mpd-0.15.12 (your version may differ)&lt;/blockquote&gt;Edit the file &lt;i&gt;debian/rules&lt;/i&gt; and remove &lt;i&gt;--disable-lame&lt;/i&gt;&lt;br /&gt;Build the binary:&lt;br /&gt;&lt;blockquote&gt;./debian/rules binary&lt;/blockquote&gt;Build the .deb package:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;cd ..&amp;nbsp;&lt;/blockquote&gt;&lt;blockquote&gt;dpkg-source -b mpd-0.15.12&lt;/blockquote&gt;Install the package:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;dpkg -i mpd_0.15.12-1.1_amd64.deb&lt;/blockquote&gt;Lock the package in place so that updates won't blow away your change:&lt;br /&gt;&lt;blockquote&gt;echo mpd hold | dpkg --set-selections&lt;/blockquote&gt;&lt;div&gt;That's it! Then you can configure an audio output in &lt;i&gt;/etc/mpd.conf:&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;div&gt;&lt;code&gt;&lt;/code&gt;&lt;/div&gt;&lt;div&gt;&lt;code&gt;audio_output {&lt;/code&gt;&lt;/div&gt;&lt;div&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;type &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;"httpd"&lt;/code&gt;&lt;/div&gt;&lt;div&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;name &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;"My HTTP Stream"&lt;/code&gt;&lt;/div&gt;&lt;div&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;encoder &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; "lame"&lt;/code&gt;&lt;/div&gt;&lt;div&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;port &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;"8000"&lt;/code&gt;&lt;/div&gt;&lt;div&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;quality &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; "5.0" &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/code&gt;&lt;/div&gt;&lt;div&gt;&lt;code&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;i&gt;&lt;div style="display: inline !important;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;always_on &amp;nbsp; &amp;nbsp; &amp;nbsp; "yes" &amp;nbsp;#This option doesn't seem to work for me :(&lt;/div&gt;&lt;/i&gt;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;&lt;div&gt;&lt;code&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;i&gt;&lt;div style="display: inline !important;"&gt;}&lt;/div&gt;&lt;/i&gt;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/i&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6021256169505852427-3454014518549132326?l=techpoet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techpoet.blogspot.com/feeds/3454014518549132326/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6021256169505852427&amp;postID=3454014518549132326' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6021256169505852427/posts/default/3454014518549132326'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6021256169505852427/posts/default/3454014518549132326'/><link rel='alternate' type='text/html' href='http://techpoet.blogspot.com/2011/04/music-player-daemon-w-lame-support-in.html' title='Music Player Daemon w/ lame Support in Debian'/><author><name>Ernesto Ongaro</name><uri>http://www.blogger.com/profile/04102517836579717069</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_x3f21DSV4eo/S1S0CxlT8NI/AAAAAAAAAig/uAfxLombU1s/S220/DSC00867.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6021256169505852427.post-785076023617637378</id><published>2011-03-24T16:58:00.000-07:00</published><updated>2011-03-24T16:58:43.148-07:00</updated><title type='text'>ThinkPad Overheating Issue Fix</title><content type='html'>&lt;table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: right; margin-left: 1em; text-align: right;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="https://lh4.googleusercontent.com/-au0q3rLqKWs/TYvad11hd6I/AAAAAAAAArM/33Mv6e8vlMg/s1600/IMAG0010.jpg" imageanchor="1" style="clear: right; margin-bottom: 1em; margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="320" src="https://lh4.googleusercontent.com/-au0q3rLqKWs/TYvad11hd6I/AAAAAAAAArM/33Mv6e8vlMg/s320/IMAG0010.jpg" width="191" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;She's pretty hot!&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;On my ThinkPad T410s fans were disabled by default after installing Debian 6 (Squeeze).&lt;br /&gt;&lt;br /&gt;I would randomly be working on CPU intensive stuff and the computer would shut down with:&lt;br /&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-family: Sans, Arial, Helvetica, sans-serif; font-size: 13px;"&gt;&lt;pre style="background-color: white; border-bottom-color: rgb(85, 85, 85); border-bottom-style: solid; border-bottom-width: 0px; border-color: initial; border-left-color: rgb(85, 85, 85); border-left-style: solid; border-left-width: 0px; border-right-color: rgb(85, 85, 85); border-right-style: solid; border-right-width: 0px; border-style: initial; border-top-color: rgb(85, 85, 85); border-top-style: solid; border-top-width: 0px; color: black; font-family: 'bitstream vera sans mono', monaco, monospace; font-size: 1em; letter-spacing: 0px; line-height: 1.4em; margin-bottom: 0px; margin-left: 10px; margin-right: 0px; margin-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px;"&gt;Critical temperature reached (128 C)&lt;/pre&gt;&lt;/span&gt;&lt;/blockquote&gt;&amp;nbsp;To fix this I created the file&amp;nbsp;/etc/modprobe.d/thinkpad_acpi.conf and added&amp;nbsp;options thinkpad_acpi fan_control=1 to it. I've submitted &lt;a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=619549"&gt;a bug against the acpi package in Debian.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I got help from &lt;a href="http://www.thinkwiki.org/wiki/Thinkpad-acpi"&gt;ThinkWiki&lt;/a&gt;&amp;nbsp;on this.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6021256169505852427-785076023617637378?l=techpoet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techpoet.blogspot.com/feeds/785076023617637378/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6021256169505852427&amp;postID=785076023617637378' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6021256169505852427/posts/default/785076023617637378'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6021256169505852427/posts/default/785076023617637378'/><link rel='alternate' type='text/html' href='http://techpoet.blogspot.com/2011/03/thinkpad-overheating-issue-fix.html' title='ThinkPad Overheating Issue Fix'/><author><name>Ernesto Ongaro</name><uri>http://www.blogger.com/profile/04102517836579717069</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_x3f21DSV4eo/S1S0CxlT8NI/AAAAAAAAAig/uAfxLombU1s/S220/DSC00867.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='https://lh4.googleusercontent.com/-au0q3rLqKWs/TYvad11hd6I/AAAAAAAAArM/33Mv6e8vlMg/s72-c/IMAG0010.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6021256169505852427.post-6651526982539447550</id><published>2011-03-09T14:08:00.000-08:00</published><updated>2011-03-09T14:08:39.656-08:00</updated><title type='text'>File Management Tip for Nautilus/Gnome in Debian</title><content type='html'>&lt;table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: right; text-align: right;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="https://lh3.googleusercontent.com/-Wjev1y8uDh0/TXfyAvZh6RI/AAAAAAAAArE/F-T6UfLNv2Q/s1600/Screenshot-lib+-+File+Browser.png" imageanchor="1" style="clear: left; margin-bottom: 1em; margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" src="https://lh3.googleusercontent.com/-Wjev1y8uDh0/TXfyAvZh6RI/AAAAAAAAArE/F-T6UfLNv2Q/s1600/Screenshot-lib+-+File+Browser.png" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;nautilus-open-terminal in action&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;Often I find myself browsing to a directory in Nautilus and then realizing that I'd rather be in terminal. Other times I want to be in Nautilus when I'm in the terminal. There's certain things the command line is better at than the file browser and vice versa. Switching between the two is fairly easy in Gnome/Nautilus.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Going from Nautilus to Terminal:&lt;/b&gt;&lt;br /&gt;You'll need the&amp;nbsp;nautilus-open-terminal package (&lt;code&gt; sudo apt-get install&amp;nbsp;nautilus-open-terminal; killall -HUP nautilus &lt;/code&gt;). Then in any Nautilus, right click on white space and select "Open in Terminal"&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Going from Terminal to Nautilus:&lt;/b&gt;&lt;br /&gt;This one is simpler. I watched a guy at work do this on his Mac and got jealous. You can go from Terminal to Nautilus opened in your current directory by typing:&amp;nbsp;&lt;i&gt;nautilus .&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;ernesto@debian-t410s:~$&amp;nbsp;nautilus .&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/6021256169505852427-6651526982539447550?l=techpoet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techpoet.blogspot.com/feeds/6651526982539447550/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6021256169505852427&amp;postID=6651526982539447550' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6021256169505852427/posts/default/6651526982539447550'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6021256169505852427/posts/default/6651526982539447550'/><link rel='alternate' type='text/html' href='http://techpoet.blogspot.com/2011/03/file-management-tip-for-nautilusgnome.html' title='File Management Tip for Nautilus/Gnome in Debian'/><author><name>Ernesto Ongaro</name><uri>http://www.blogger.com/profile/04102517836579717069</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_x3f21DSV4eo/S1S0CxlT8NI/AAAAAAAAAig/uAfxLombU1s/S220/DSC00867.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='https://lh3.googleusercontent.com/-Wjev1y8uDh0/TXfyAvZh6RI/AAAAAAAAArE/F-T6UfLNv2Q/s72-c/Screenshot-lib+-+File+Browser.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6021256169505852427.post-6213693709079034942</id><published>2011-01-16T20:15:00.000-08:00</published><updated>2011-01-16T20:15:27.314-08:00</updated><title type='text'>Linux zd1211 Wireless Speed Fix</title><content type='html'>For some reason my Belkin 54Mbps USB wifi adapter operates at 1 Mb/s under Linux.&lt;br /&gt;It's detected as the following by lsusb:&lt;br /&gt;&lt;code&gt;&lt;/code&gt;&lt;br /&gt;Bus 001 Device 002: ID 050d:705c Belkin Components F5D7050 Wireless G Adapter v4000 [Zydas ZD1211B]&lt;br /&gt;&lt;br /&gt;If I do a &lt;code&gt;iwconfig wlan0 rate 54M&lt;/code&gt; the card starts working at 54Mb/s. To fix this more permanently I added the following to my&lt;i&gt; /etc/network/interfaces&lt;/i&gt; file:&lt;br /&gt;&lt;code&gt;&lt;/code&gt;&lt;br /&gt;auto wlan0&lt;br /&gt;iface wlan0 inet dhcp&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; wpa-ssid 56k&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; wpa-psk secret&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;i&gt;wireless-rate 54M&lt;/i&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6021256169505852427-6213693709079034942?l=techpoet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techpoet.blogspot.com/feeds/6213693709079034942/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6021256169505852427&amp;postID=6213693709079034942' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6021256169505852427/posts/default/6213693709079034942'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6021256169505852427/posts/default/6213693709079034942'/><link rel='alternate' type='text/html' href='http://techpoet.blogspot.com/2011/01/linux-zd1211-wireless-speed-fix.html' title='Linux zd1211 Wireless Speed Fix'/><author><name>Ernesto Ongaro</name><uri>http://www.blogger.com/profile/04102517836579717069</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_x3f21DSV4eo/S1S0CxlT8NI/AAAAAAAAAig/uAfxLombU1s/S220/DSC00867.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6021256169505852427.post-6154729021679833895</id><published>2010-12-07T13:26:00.000-08:00</published><updated>2010-12-07T13:26:11.434-08:00</updated><title type='text'>Solaris on Virtualbox</title><content type='html'>Trying out &lt;a href="http://en.wikipedia.org/wiki/Solaris"&gt;Solaris &lt;/a&gt;on &lt;a href="http://www.virtualbox.org/"&gt;Virtualbox&lt;/a&gt; to troubleshoot an issue at &lt;a href="http://www.jaspersoft.com/"&gt;work&lt;/a&gt; with no luck booting. The VM would hang after the grub prompt.&lt;br /&gt;&lt;br /&gt;Disabling USB support and sound support did it for me.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6021256169505852427-6154729021679833895?l=techpoet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techpoet.blogspot.com/feeds/6154729021679833895/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6021256169505852427&amp;postID=6154729021679833895' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6021256169505852427/posts/default/6154729021679833895'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6021256169505852427/posts/default/6154729021679833895'/><link rel='alternate' type='text/html' href='http://techpoet.blogspot.com/2010/12/solaris-on-virtualbox.html' title='Solaris on Virtualbox'/><author><name>Ernesto Ongaro</name><uri>http://www.blogger.com/profile/04102517836579717069</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_x3f21DSV4eo/S1S0CxlT8NI/AAAAAAAAAig/uAfxLombU1s/S220/DSC00867.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6021256169505852427.post-3644709915111851742</id><published>2010-11-05T14:02:00.000-07:00</published><updated>2010-11-05T14:02:38.164-07:00</updated><title type='text'>Cron Jobs in the Green Data Center</title><content type='html'>Yesterday I wrote a script to monitor a UPS (running &lt;a href="http://www.apcupsd.com/"&gt;apcupdsd&lt;/a&gt;) server using &lt;a href="http://nagios.org/"&gt;Nagios&lt;/a&gt;. Today I'm looking at some of the results of the performance data. It seems that the hourly cron jobs on my server actually cause some power usage. I'll have to think over how often it's actually necessary to run those scripts given it's sucking a noticable bit of juice. Check out the graph (produced by &lt;a href="http://docs.pnp4nagios.org/pnp-0.4/start"&gt;PNP for Nagios&lt;/a&gt;)&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/_x3f21DSV4eo/TNRwLuBn73I/AAAAAAAAAog/mw3MieRj1wM/s1600/index.php+(1).png" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="181" src="http://3.bp.blogspot.com/_x3f21DSV4eo/TNRwLuBn73I/AAAAAAAAAog/mw3MieRj1wM/s640/index.php+(1).png" width="640" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;4 hour Load Percentage of our new &lt;a href="http://www.apc.com/products/resource/include/techspec_index.cfm?base_sku=SUA2200R2X106"&gt;APC 2200&lt;/a&gt; @ &lt;a href="http://etszone.com/"&gt;work&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6021256169505852427-3644709915111851742?l=techpoet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techpoet.blogspot.com/feeds/3644709915111851742/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6021256169505852427&amp;postID=3644709915111851742' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6021256169505852427/posts/default/3644709915111851742'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6021256169505852427/posts/default/3644709915111851742'/><link rel='alternate' type='text/html' href='http://techpoet.blogspot.com/2010/11/cron-jobs-in-green-data-center.html' title='Cron Jobs in the Green Data Center'/><author><name>Ernesto Ongaro</name><uri>http://www.blogger.com/profile/04102517836579717069</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_x3f21DSV4eo/S1S0CxlT8NI/AAAAAAAAAig/uAfxLombU1s/S220/DSC00867.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_x3f21DSV4eo/TNRwLuBn73I/AAAAAAAAAog/mw3MieRj1wM/s72-c/index.php+(1).png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6021256169505852427.post-6676153510208453401</id><published>2010-10-07T11:38:00.000-07:00</published><updated>2010-10-07T11:38:34.935-07:00</updated><title type='text'>SSH Client Keep Alives</title><content type='html'>At my new office in the&amp;nbsp;&lt;a href="http://en.wikipedia.org/wiki/Shell_Building_(San_Francisco)"&gt;Shell Building&lt;/a&gt;&amp;nbsp;the main router is a &lt;a href="http://www.sonicwall.com/"&gt;SonicWal&lt;/a&gt;l which has a setting to drop idle TCP connections after 15 minutes. This is annoying since I usually have several going at once. I don't have access to the router so I had to work around the issue.&lt;br /&gt;&lt;br /&gt;The poor man's solution is to run the "top" command on your idle terminals so that packets come through. Not elegant and too manual for me.&lt;br /&gt;&lt;br /&gt;The rich man's solution is to change the server's keep alive settings (TCPKeepAlive yes). I call this the rich man's solution because it means every one bends over for you.&lt;br /&gt;&lt;br /&gt;The middle class man's solution is to add some directives to the default SSH client options on your local machine. Here's how:&lt;br /&gt;&lt;br /&gt;Edit ( as root) &lt;i&gt;&lt;b&gt;/etc/ssh/ssh_config&lt;/b&gt; &lt;/i&gt;and add the following lines:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;TCPKeepAlive yes&lt;/code&gt;&lt;br /&gt;&lt;code&gt;ServerAliveInterval &amp;nbsp;60&lt;/code&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: monospace; white-space: pre;"&gt;ServerAliveCountMax 5&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This means that every 60 seconds your machine will send a keep alive to the server if there is no other activity. If the physical connection gets dropped then every 60 seconds the keep alive will be sent until it's done that 5 times, finally giving up (in 5 minutes).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;From the &lt;a href="http://www.openbsd.org/cgi-bin/man.cgi?query=ssh_config"&gt;man&lt;/a&gt; page:&lt;/div&gt;&lt;b&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;TCPKeepAlive&lt;/span&gt;&lt;/b&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Specifies whether the system should send TCP keepalive messages to the other side. If they are sent, death of the connection or crash of one of the machines will be properly noticed. However, this means that connections will die if the route is down temporarily, and some people find it annoying. The default is ``yes'' (to send TCP keepalive messages), and the client will notice if the network goes down or the remote host dies. This is important in scripts, and many users want it too. To disable TCP keepalive messages, the value should be set to ``no''.&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;ServerAliveCountMax&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; Sets the number of server alive messages (see below) which may be sent without ssh(1) receiving any messages back from the server. If this threshold is reached while server alive messages are being sent, ssh will disconnect from the server, terminating the session. It is important to note that the use of server alive messages is very different from TCPKeepAlive (below). The server alive messages are sent through the encrypted channel and therefore will not be spoofable. The TCP keepalive option enabled by TCPKeepAlive is spoofable. The server alive mechanism is valuable when the client or server depend on knowing when a connection has become inactive. The default value is 3. If, for example, ServerAliveInterval (see below) is set to 15 and ServerAliveCountMax is left at the default, if the server becomes unresponsive, ssh will disconnect after approximately 45 seconds. This option applies to protocol version 2 only.&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;ServerAliveInterval&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; Sets a timeout interval in seconds after which if no data has been received from the server, ssh(1) will send a message through the encrypted channel to request a response from the server. The default is 0, indicating that these messages will not be sent to the server. This option applies to protocol version 2 only.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6021256169505852427-6676153510208453401?l=techpoet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techpoet.blogspot.com/feeds/6676153510208453401/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6021256169505852427&amp;postID=6676153510208453401' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6021256169505852427/posts/default/6676153510208453401'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6021256169505852427/posts/default/6676153510208453401'/><link rel='alternate' type='text/html' href='http://techpoet.blogspot.com/2010/10/ssh-client-keep-alives.html' title='SSH Client Keep Alives'/><author><name>Ernesto Ongaro</name><uri>http://www.blogger.com/profile/04102517836579717069</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_x3f21DSV4eo/S1S0CxlT8NI/AAAAAAAAAig/uAfxLombU1s/S220/DSC00867.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6021256169505852427.post-1766153531789836530</id><published>2010-09-17T11:01:00.000-07:00</published><updated>2010-09-17T19:53:38.000-07:00</updated><title type='text'>Adobe Flash is back for amd64!</title><content type='html'>Finally the 64 bit edition of Flash is somewhat available again! It's called Flash "Square". I tried it last night on my dual core Atom HTPC running Debian Squeeze. It was amazing. &lt;i&gt;Full screen HD YouTube videos play smooth as butter&lt;/i&gt;. I've never seen this with Flash in Linux! Amazing!&lt;br /&gt;&lt;br /&gt;By the way I still hate Flash but you gotta live with it so...&lt;br /&gt;&lt;br /&gt;&lt;i&gt;See my edits in the Debian wiki on how to install on a 64 bit platform:&lt;/i&gt;&lt;br /&gt;&lt;a href="http://wiki.debian.org/FlashPlayer#Debian5.0.27Lenny.27and.27Squeeze.27amd64"&gt;&lt;b&gt;http://wiki.debian.org/FlashPlayer#Debian5.0.27Lenny.27and.27Squeeze.27amd64&lt;/b&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6021256169505852427-1766153531789836530?l=techpoet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techpoet.blogspot.com/feeds/1766153531789836530/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6021256169505852427&amp;postID=1766153531789836530' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6021256169505852427/posts/default/1766153531789836530'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6021256169505852427/posts/default/1766153531789836530'/><link rel='alternate' type='text/html' href='http://techpoet.blogspot.com/2010/09/adobe-flash-is-back-for-amd64.html' title='Adobe Flash is back for amd64!'/><author><name>Ernesto Ongaro</name><uri>http://www.blogger.com/profile/04102517836579717069</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_x3f21DSV4eo/S1S0CxlT8NI/AAAAAAAAAig/uAfxLombU1s/S220/DSC00867.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6021256169505852427.post-5839434748349644061</id><published>2010-09-17T10:00:00.000-07:00</published><updated>2010-09-17T10:00:45.829-07:00</updated><title type='text'>d.o.t.s in your Gmail address demystified</title><content type='html'>This is probably not a surpsrise to anyone but me but I still want to share.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;According to Google:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; font-family: Arial, Helvetica, sans-serif; font-size: 13px;"&gt;homerjsimpson@gmail.com = hom.er.j.sim.ps.on@gmail.com&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; font-family: Arial, Helvetica, sans-serif; font-size: 13px;"&gt;homerjsimpson@gmail.com = HOMERJSIMPSON@gmail.com&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; font-family: Arial, Helvetica, sans-serif; font-size: 13px;"&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; font-family: Arial, Helvetica, sans-serif; font-size: 13px;"&gt;homerjsimpson@gmail.com = Homer.J.Simpson@gmail.com&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;Sweet! Now to make it even harder to contact me just e-mail me at e(dot)r(dot)n(dot)e(dot)s(dot)t(dot)o(dot)o(dot)n(dot)g(dot)a(dot)r(dot)o AT gmail(dot)com&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://mail.google.com/support/bin/answer.py?hl=en&amp;amp;ctx=mail&amp;amp;answer=10313#"&gt;http://mail.google.com/support/bin/answer.py?hl=en&amp;amp;ctx=mail&amp;amp;answer=10313#&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6021256169505852427-5839434748349644061?l=techpoet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techpoet.blogspot.com/feeds/5839434748349644061/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6021256169505852427&amp;postID=5839434748349644061' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6021256169505852427/posts/default/5839434748349644061'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6021256169505852427/posts/default/5839434748349644061'/><link rel='alternate' type='text/html' href='http://techpoet.blogspot.com/2010/09/dots-in-your-gmail-address-demystified.html' title='d.o.t.s in your Gmail address demystified'/><author><name>Ernesto Ongaro</name><uri>http://www.blogger.com/profile/04102517836579717069</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_x3f21DSV4eo/S1S0CxlT8NI/AAAAAAAAAig/uAfxLombU1s/S220/DSC00867.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6021256169505852427.post-5750889642616411154</id><published>2010-08-30T20:43:00.000-07:00</published><updated>2010-08-31T11:09:34.923-07:00</updated><title type='text'>1,741 times faster than dial up!</title><content type='html'>I am checking out the grand new offices for the &lt;a href="http://fiz.stanford.edu:8081/display/ramcloud/Home"&gt;RAMCloud project&lt;/a&gt; at &lt;a href="http://stanford.edu/"&gt;Stanford&lt;/a&gt;. The internet here is 1,741 times faster than 56k dial-up! Ironically storage speeds have not grown at the same rate as Internet speeds, that's what RAMCloud hopes to solve (in the data center).&lt;br /&gt;&lt;br /&gt;This is insane bandwidth. Oh and every PC here gets a public IP! I'm in Internet heaven.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6021256169505852427-5750889642616411154?l=techpoet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techpoet.blogspot.com/feeds/5750889642616411154/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6021256169505852427&amp;postID=5750889642616411154' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6021256169505852427/posts/default/5750889642616411154'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6021256169505852427/posts/default/5750889642616411154'/><link rel='alternate' type='text/html' href='http://techpoet.blogspot.com/2010/08/1741-times-faster-than-dial-up.html' title='1,741 times faster than dial up!'/><author><name>Ernesto Ongaro</name><uri>http://www.blogger.com/profile/04102517836579717069</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_x3f21DSV4eo/S1S0CxlT8NI/AAAAAAAAAig/uAfxLombU1s/S220/DSC00867.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6021256169505852427.post-7509675972836084154</id><published>2010-08-17T23:46:00.000-07:00</published><updated>2010-08-18T08:22:20.117-07:00</updated><title type='text'>Open Government Data and JasperReports</title><content type='html'>Major geek out this evening. I was supposed to go to the gym with &lt;a href="http://ongardie.net/"&gt;Diego&lt;/a&gt; but he passed out on the couch from jet lag and I decided to hit the open source reporting space instead (the obvious choice!). I'm evaluating &lt;a href="http://jaspersoft.com/"&gt;JasperReports&lt;/a&gt;, an open source reporting engine. I'm &lt;i&gt;very&lt;/i&gt; impressed with the results.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Installation:&lt;/b&gt;&lt;br /&gt;Installation was a breeze - I fired up a Debian 5 VPS on my home server and after downloading the &lt;a href="http://sourceforge.net/projects/jasperreports/files/jasperreports"&gt;JasperServer package&lt;/a&gt; I had my TomCat, MySQL, Java installs all done for me. I had the option to configure each component separately - I opted to have Jasper do all that for me this time. I also decided to give JasperReports-Pro a try under the time trial demo. There's also the completely free open-source edition.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Data Source:&lt;/b&gt;&lt;br /&gt;Once I was able to log into the web interface I had to find some data! I decided to try &lt;a href="http://data.gov/"&gt;data.gov&lt;/a&gt;. I found some "raw data" on &lt;a href="http://www.data.gov/raw/366"&gt;2008 adoptions per foreign country for United States families.&lt;/a&gt; The data came in the form of an .xls file that I cleaned up, turned into a .csv and imported into a separate MySQL server that I had running. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Configuring JasperReports:&lt;/b&gt;&lt;br /&gt;Configuring JasperReports was not too bad. There's definitely a learning curve but within a couple of hours I was able to get everything plugged in nicely and a report generated. The basic steps were:&lt;br /&gt;&lt;br /&gt;1) Create a JDBC connection to your database (in this case it was another host on my LAN with a mysql server listening for connections). Jasper calls this a &lt;b&gt;JBDC Data Source&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;table cellpadding="0" cellspacing="0" class="tr-caption-container" style="float: right; margin-left: 1em; text-align: right;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;JasperReports: Turning Data into Information&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_x3f21DSV4eo/TGt9MlwmDgI/AAAAAAAAAmI/5xdprqek5Fc/s1600/jasperserver%282%29.png" imageanchor="1" style="clear: right; margin-bottom: 1em; margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="640" src="http://2.bp.blogspot.com/_x3f21DSV4eo/TGt9MlwmDgI/AAAAAAAAAmI/5xdprqek5Fc/s640/jasperserver%282%29.png" width="272" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;2) Create an abstraction of the Data Source and the queries. This can get extremely complicated - you can pull in several tables and several data sources, manipulate them in any way you like (yes, graphically if you like) and then you should have what Jasper calls a &lt;b&gt;Domain&lt;/b&gt;. My Domain was very simple, just pulls in the tables from my data source. In the real world this step would be done by an experienced database administrator.&lt;br /&gt;&lt;br /&gt;3) Finally you can then set up a report using the data from the Domain created in step two. The idea is that your end users create reports using the JasperServer GUI, the end user really doesn't need to worry about the JBDC data source. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;The Results:&lt;/b&gt;&lt;br /&gt;After all this work you have a report. A sweet report that is linked to your data source. If I upload data into my database the reports are updated instantly. This is very cool. Since I already have all the data from my table in my Domain, creating other reports and mash-ups is simple.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The "real-world" application doesn't seem obvious in my example here - if you work in an enterprise where data is needed on a constant basis then JasperReports is for you. Reports can be ran on demand by end-users or scheduled and e-mailed on a recurring basis. Here's what my report ended up looking like. It's super basic and just tells me that Guatemalans were the child of choice for 2008.&lt;br /&gt;&lt;br /&gt;If you put together all the information available from the government on sites like data.gov and combine it with the power of a tool like JasperReports, having incredibly useful information at your fingertips becomes a reality.&amp;nbsp; &lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_x3f21DSV4eo/TGt_LQOf51I/AAAAAAAAAmM/XvDtNPoIUws/s1600/report.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="254" src="http://2.bp.blogspot.com/_x3f21DSV4eo/TGt_LQOf51I/AAAAAAAAAmM/XvDtNPoIUws/s400/report.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6021256169505852427-7509675972836084154?l=techpoet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techpoet.blogspot.com/feeds/7509675972836084154/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6021256169505852427&amp;postID=7509675972836084154' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6021256169505852427/posts/default/7509675972836084154'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6021256169505852427/posts/default/7509675972836084154'/><link rel='alternate' type='text/html' href='http://techpoet.blogspot.com/2010/08/open-governemnt-data-and-jasperreports.html' title='Open Government Data and JasperReports'/><author><name>Ernesto Ongaro</name><uri>http://www.blogger.com/profile/04102517836579717069</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_x3f21DSV4eo/S1S0CxlT8NI/AAAAAAAAAig/uAfxLombU1s/S220/DSC00867.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_x3f21DSV4eo/TGt9MlwmDgI/AAAAAAAAAmI/5xdprqek5Fc/s72-c/jasperserver%282%29.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6021256169505852427.post-6528105074738819036</id><published>2010-07-21T12:31:00.000-07:00</published><updated>2010-07-21T12:31:37.247-07:00</updated><title type='text'>Dropbox in Debian Squeeze</title><content type='html'>I decided to give &lt;a href="http://debian.org"&gt;Debian&lt;/a&gt; Lenny +1 distribution, &lt;a href="http://www.debian.org/releases/testing/"&gt;Squeeze&lt;/a&gt; a try on my work desktop. Things look really good and easy for one of my favorite cloud services, &lt;a href="https://www.dropbox.com/"&gt;Dropbox&lt;/a&gt;. To install (instead of the old manual methods) just enable the non-free repository in your &lt;i&gt;/etc/apt/sources.list&lt;/i&gt;:&lt;blockquote&gt;deb http://mirrors.kernel.org/debian/ squeeze main contrib non-free&lt;br /&gt;&lt;/blockquote&gt;Then you can simply install Dropbox with: &lt;blockquote&gt;apt-get install dropbox&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6021256169505852427-6528105074738819036?l=techpoet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techpoet.blogspot.com/feeds/6528105074738819036/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6021256169505852427&amp;postID=6528105074738819036' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6021256169505852427/posts/default/6528105074738819036'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6021256169505852427/posts/default/6528105074738819036'/><link rel='alternate' type='text/html' href='http://techpoet.blogspot.com/2010/07/dropbox-in-debian-squeeze.html' title='Dropbox in Debian Squeeze'/><author><name>Ernesto Ongaro</name><uri>http://www.blogger.com/profile/04102517836579717069</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_x3f21DSV4eo/S1S0CxlT8NI/AAAAAAAAAig/uAfxLombU1s/S220/DSC00867.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6021256169505852427.post-333451664612863665</id><published>2010-07-12T20:33:00.001-07:00</published><updated>2010-07-12T20:33:28.632-07:00</updated><title type='text'>Finally a fix for home, end, page up and page down keys in Mac OS Terminal!</title><content type='html'>Thanks Mac Improved Blog man:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://macimproved.wordpress.com/2010/01/04/fix-page-updown-home-end-in-terminal/"&gt;http://macimproved.wordpress.com/2010/01/04/fix-page-updown-home-end-in-terminal/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6021256169505852427-333451664612863665?l=techpoet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techpoet.blogspot.com/feeds/333451664612863665/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6021256169505852427&amp;postID=333451664612863665' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6021256169505852427/posts/default/333451664612863665'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6021256169505852427/posts/default/333451664612863665'/><link rel='alternate' type='text/html' href='http://techpoet.blogspot.com/2010/07/finally-fix-for-home-end-page-up-and.html' title='Finally a fix for home, end, page up and page down keys in Mac OS Terminal!'/><author><name>Ernesto Ongaro</name><uri>http://www.blogger.com/profile/04102517836579717069</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_x3f21DSV4eo/S1S0CxlT8NI/AAAAAAAAAig/uAfxLombU1s/S220/DSC00867.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6021256169505852427.post-7641848589665927297</id><published>2010-07-09T16:51:00.000-07:00</published><updated>2010-07-09T18:19:16.379-07:00</updated><title type='text'>lighttpd: whitelist some IPs while authenticating the rest</title><content type='html'>Here's the scenario: you have an office full of people that need access to a certain web app. Some of them probably have insecure passwords and you're too busy to worry about the latest security holes in your web-app. Slow down attackers by allowing your office IP addresses in while denying the open web access until they put in a simple group password.&lt;br /&gt;&lt;br /&gt;In other words, this post walks you through having &lt;a href="http://www.lighttpd.net/"&gt;lighttpd&lt;/a&gt; allow some IP addresses in (and authenticating with your web app) and others to have to authenticate with mod_auth first, then the web app.&lt;br /&gt;&lt;br /&gt;These instructions were tested on Debian Lenny:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;First Enable the authentication module:&lt;br /&gt;&lt;code&gt;lighttpd-enable-mod auth &lt;/code&gt; &lt;/li&gt;&lt;li&gt;Create the password file, the format is &lt;code&gt;username:password&lt;/code&gt;&lt;br /&gt;&lt;code&gt;vim /etc/lighttpd.user&lt;/code&gt;&lt;br /&gt;Make the password file owned by the webserver user:&lt;br /&gt;&lt;code&gt;chown www-data:www-data /etc/lighttpd.user&lt;/code&gt;&lt;/li&gt;&lt;li&gt;Configure the auth module:&lt;br /&gt;&lt;code&gt;vim /etc/lighttpd/conf-enabled/05-auth.conf &lt;/code&gt;&lt;br /&gt;* Comment out the &lt;code&gt;auth.backend = "plain" &lt;/code&gt; line&lt;br /&gt;* Comment out the &lt;code&gt;auth.backend.plain.userfile = ....&lt;/code&gt; line&lt;br /&gt;* Change the &lt;code&gt;auth.backend.plain.userfile &lt;/code&gt; file to the one you created above, /etc/lighttpd.user &lt;/li&gt;&lt;li&gt; Finally, have all IPs authenticated, except for the IP1 and IP2 (add more separated by pipes) by adding the following to &lt;code&gt;/etc/lighttpd/lighttpd.conf&lt;/code&gt;:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;$HTTP["remoteip"] !~ "IP1|IP2" {&lt;br /&gt;auth.require = ( "" =&amp;gt;&lt;br /&gt;(&lt;br /&gt;"method" =&gt; "basic",&lt;br /&gt;"realm" =&gt; "Employees Only!",&lt;br /&gt;"require" =&gt; "user=username"&lt;br /&gt;)&lt;br /&gt;)&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Note: you can't use hostnames, only IPs&lt;br /&gt;&lt;li&gt;Reload lighttpd and you're done!&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6021256169505852427-7641848589665927297?l=techpoet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techpoet.blogspot.com/feeds/7641848589665927297/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6021256169505852427&amp;postID=7641848589665927297' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6021256169505852427/posts/default/7641848589665927297'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6021256169505852427/posts/default/7641848589665927297'/><link rel='alternate' type='text/html' href='http://techpoet.blogspot.com/2010/07/lighttpd-whitelist-some-ips-while.html' title='lighttpd: whitelist some IPs while authenticating the rest'/><author><name>Ernesto Ongaro</name><uri>http://www.blogger.com/profile/04102517836579717069</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_x3f21DSV4eo/S1S0CxlT8NI/AAAAAAAAAig/uAfxLombU1s/S220/DSC00867.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6021256169505852427.post-5428290331846431880</id><published>2010-05-10T10:15:00.000-07:00</published><updated>2010-05-10T10:15:06.215-07:00</updated><title type='text'>Pico Projectors</title><content type='html'>Is the next big (little) thing Pico Projectors? Check out my friend's site &lt;a href="http://picoprojector.org/"&gt;http://picoprojector.org/&lt;/a&gt; - he's got pretty comprehensive reviews and news about the miniaturized projectors.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6021256169505852427-5428290331846431880?l=techpoet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techpoet.blogspot.com/feeds/5428290331846431880/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6021256169505852427&amp;postID=5428290331846431880' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6021256169505852427/posts/default/5428290331846431880'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6021256169505852427/posts/default/5428290331846431880'/><link rel='alternate' type='text/html' href='http://techpoet.blogspot.com/2010/05/pico-projectors.html' title='Pico Projectors'/><author><name>Ernesto Ongaro</name><uri>http://www.blogger.com/profile/04102517836579717069</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_x3f21DSV4eo/S1S0CxlT8NI/AAAAAAAAAig/uAfxLombU1s/S220/DSC00867.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6021256169505852427.post-8529988283630001577</id><published>2010-03-23T22:05:00.000-07:00</published><updated>2010-03-23T22:09:35.082-07:00</updated><title type='text'>Blackberry Bold 9700 and Mac OS X 10.6.2 Bluetooth Tether for AT&amp;T</title><content type='html'>This is a fairly lazy post. I'm assuming you have the devices tethered via Bluetooth - that's fairly common knowledge. What's uncommon is getting it to work. I tried the Blackberry Modem profiles that people cooked up with no luck. What ended up working was this Option N.V device profile. Just follow the screenshots.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_x3f21DSV4eo/S6mcE-VCGBI/AAAAAAAAAkQ/sMwhW-nzZso/s1600-h/settings.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="556" src="http://1.bp.blogspot.com/_x3f21DSV4eo/S6mcE-VCGBI/AAAAAAAAAkQ/sMwhW-nzZso/s640/settings.png" width="640" /&gt;&lt;/a&gt;&lt;br /&gt;* Note password is CINGULAR1&lt;br /&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_x3f21DSV4eo/S6mcKYEoKZI/AAAAAAAAAkY/N4xQ4MDLfkE/s1600-h/settings2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="498" src="http://1.bp.blogspot.com/_x3f21DSV4eo/S6mcKYEoKZI/AAAAAAAAAkY/N4xQ4MDLfkE/s640/settings2.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;The speeds are under a Mbit up and down. Not great but this works. If this isn't working I suggest you &lt;code&gt;tail -f /var/log/system.log&lt;/code&gt; while "Use verbose logging" is checked in the PPP properties.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://forums.crackberry.com/f62/blackberry-bold-my-successful-t-tether-settings-osx-10-5-6-bb-os-167-a-136856/"&gt;Source here (obscure CrackBerry post)&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6021256169505852427-8529988283630001577?l=techpoet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techpoet.blogspot.com/feeds/8529988283630001577/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6021256169505852427&amp;postID=8529988283630001577' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6021256169505852427/posts/default/8529988283630001577'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6021256169505852427/posts/default/8529988283630001577'/><link rel='alternate' type='text/html' href='http://techpoet.blogspot.com/2010/03/blackberry-bold-9700-and-mac-os-x-1062.html' title='Blackberry Bold 9700 and Mac OS X 10.6.2 Bluetooth Tether for AT&amp;T'/><author><name>Ernesto Ongaro</name><uri>http://www.blogger.com/profile/04102517836579717069</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_x3f21DSV4eo/S1S0CxlT8NI/AAAAAAAAAig/uAfxLombU1s/S220/DSC00867.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_x3f21DSV4eo/S6mcE-VCGBI/AAAAAAAAAkQ/sMwhW-nzZso/s72-c/settings.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6021256169505852427.post-477455374019757116</id><published>2010-02-25T12:04:00.000-08:00</published><updated>2010-02-25T12:04:43.159-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='spa-941'/><category scheme='http://www.blogger.com/atom/ns#' term='spa-962'/><category scheme='http://www.blogger.com/atom/ns#' term='spa-942'/><title type='text'>Troubleshooting Cisco/Linksys SPA-942 phones with a syslog Server</title><content type='html'>Chances are you're using an Asterisk server on Linux with your SPA-941, SPA-942, or SPA-962 VoIP phones. If you're having an issue, like trouble upgrading firmware it's nice to know what the phone is saying. Simple.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Enable remote syslog logging:&lt;/b&gt;&lt;br /&gt;On your Linux machine, in this case CentOS, enable remote syslog logging in &lt;code&gt;/etc/sysconfig/syslog&lt;/code&gt; by adding a &lt;code&gt;-r&lt;/code&gt; to the SYSLOGD_OPTIONS line. It will end up looking something like this:&lt;br /&gt;&lt;code&gt;SYSLOGD_OPTIONS="-r -m 0"&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Restart syslog (&lt;code&gt;/etc/init.d/syslog restart&lt;code&gt;) and then onto the phone.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Enable Logging on the SPA device&lt;/b&gt;&lt;br /&gt;On your SPA device under (Admin -&amp;gt; System) enter the IP of your syslog server into the boxes and set a debug level (0 is off, 3 is most verbose):&lt;br /&gt;&lt;/code&gt;&lt;/code&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_x3f21DSV4eo/S4bVQ_9yJCI/AAAAAAAAAkE/sH-uQwE_N7Y/s1600-h/Screenshot-Linksys+SPA+Configuration+-+Google+Chrome-1.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="123" src="http://2.bp.blogspot.com/_x3f21DSV4eo/S4bVQ_9yJCI/AAAAAAAAAkE/sH-uQwE_N7Y/s640/Screenshot-Linksys+SPA+Configuration+-+Google+Chrome-1.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;b&gt;Look at your logs:&lt;/b&gt;&lt;br /&gt;In &lt;code&gt;/var/log/messages&lt;/code&gt; you should see some output the phone is putting out. This is an example of a successful firmware upgrade on an SPA-941&lt;br /&gt;&lt;blockquote&gt;Feb 25 13:06:18 10.0.22.114 SPA-941 00:0e:08:23:15:2c -- Requesting upgrade http://10.0.22.15:80/spa941-5-1-8.bin&lt;br /&gt;Feb 25 13:06:19 10.0.22.114 fprv_upgrade_from_buffer_priv(int manual:0, unsigned char *buf: kOsMoS9 fIrMwArE, int file_len: 757258)&lt;br /&gt;Feb 25 13:06:19 10.0.22.114 fprv_upgrade_from_buffer_priv(int manual:0, unsigned char *buf: kOsMoS9 fIrMwArE, int file_len: 757258)  &lt;br /&gt;Feb 25 13:06:19 10.0.22.114 ** old magic: kOsMoS9 fIrMwArE, new magic: kOsMoS9 fIrMwArE&lt;br /&gt;Feb 25 13:06:19 10.0.22.114 ** old magic: kOsMoS9 fIrMwArE, new magic: kOsMoS9 fIrMwArE &lt;br /&gt;Feb 25 13:06:44 10.0.22.114 SPA-941 00:0e:08:23:15:2c -- Successful upgrade http://10.0.22.15:80/spa941-5-1-8.bin -- new image 5.1.8 &lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;There's not a lot of documentation from Cisco/Linksys on error codes and reboot reasons..on your own there!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6021256169505852427-477455374019757116?l=techpoet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techpoet.blogspot.com/feeds/477455374019757116/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6021256169505852427&amp;postID=477455374019757116' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6021256169505852427/posts/default/477455374019757116'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6021256169505852427/posts/default/477455374019757116'/><link rel='alternate' type='text/html' href='http://techpoet.blogspot.com/2010/02/troubleshooting-ciscolinksys-spa-942.html' title='Troubleshooting Cisco/Linksys SPA-942 phones with a syslog Server'/><author><name>Ernesto Ongaro</name><uri>http://www.blogger.com/profile/04102517836579717069</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_x3f21DSV4eo/S1S0CxlT8NI/AAAAAAAAAig/uAfxLombU1s/S220/DSC00867.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_x3f21DSV4eo/S4bVQ_9yJCI/AAAAAAAAAkE/sH-uQwE_N7Y/s72-c/Screenshot-Linksys+SPA+Configuration+-+Google+Chrome-1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6021256169505852427.post-96710881285761438</id><published>2010-02-16T14:16:00.000-08:00</published><updated>2010-02-16T15:01:06.588-08:00</updated><title type='text'>Batch convert Asterisk GSM WAV files to mp3</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.asterisk.org/themes/newAsterisk/images/logo.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 138px; height: 79px;" src="http://www.asterisk.org/themes/newAsterisk/images/logo.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;I am working on a fun project at work to provide web based visual voice-mail for a ticketing system. I realized Flash audio players are not able to play WAV files so had to work around that. Since users are also using voicemail files in other ways I can't just change the output format from Asterisk. The type of file that I'm working with is identifed with &lt;code&gt; file ms0012.WAV &lt;/code&gt; as: &lt;code&gt;msg0012.WAV: RIFF (little-endian) data, WAVE audio, GSM 6.10, mono 8000 Hz &lt;/code&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;First I'll say that I found this &lt;a href="http://www.thiscoolsite.com/?p=73"&gt;post http://www.thiscoolsite.com/?p=73&lt;/a&gt; but like some of the commenters I couldn't get the script to work. The author assumes some other format than Asterisk spits out by default. Lame would complain that &lt;code&gt; Unsupported data format: 0x0031 &lt;/code&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;The Tools&lt;/b&gt;&lt;br /&gt;Sox: &lt;a href="http://sox.sourceforge.net/"&gt;http://sox.sourceforge.net/&lt;/a&gt;&lt;br /&gt;Lame: &lt;a href="http://lame.sourceforge.net/"&gt;http://lame.sourceforge.net/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;So here's what I do:&lt;/b&gt;&lt;br /&gt;&lt;b&gt;Convert GSM encoded wav to Microsoft PCM&lt;/b&gt;&lt;br /&gt;&lt;code&gt;sox msg0012.WAV -s msg0012.wav&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Convert the PCM wav to mp3:&lt;/b&gt;&lt;br /&gt;&lt;code&gt;lame msg0012.wav msg0012.mp3&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;And here's a script to do this as a batch:&lt;/b&gt;&lt;br /&gt;&lt;div id="snipplr_embed_28463" class="snipplr_embed"&gt;&lt;a href="http://snipplr.com/view/28463/convert-asterisk-gsm-encoded-wav-files-to-mp3/"&gt;Code snippet - Convert Asterisk GSM encoded WAV files to MP3&lt;/a&gt; on Snipplr&lt;/div&gt;&lt;script type="text/javascript" src="http://snipplr.com/js/embed.js"&gt;&lt;/script&gt;&lt;script type="text/javascript" src="http://snipplr.com/json/28463"&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6021256169505852427-96710881285761438?l=techpoet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techpoet.blogspot.com/feeds/96710881285761438/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6021256169505852427&amp;postID=96710881285761438' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6021256169505852427/posts/default/96710881285761438'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6021256169505852427/posts/default/96710881285761438'/><link rel='alternate' type='text/html' href='http://techpoet.blogspot.com/2010/02/batch-convert-asterisk-wav-files-to-mp3.html' title='Batch convert Asterisk GSM WAV files to mp3'/><author><name>Ernesto Ongaro</name><uri>http://www.blogger.com/profile/04102517836579717069</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_x3f21DSV4eo/S1S0CxlT8NI/AAAAAAAAAig/uAfxLombU1s/S220/DSC00867.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6021256169505852427.post-6340428495148831562</id><published>2010-02-02T17:35:00.000-08:00</published><updated>2010-02-02T17:41:39.076-08:00</updated><title type='text'>Delete multiple files in Subversion (Linux)</title><content type='html'>Removed a ton of files from an SVN repo? This will delete all the files that show up with a ! when you do svn status.&lt;br /&gt;&lt;br /&gt;&lt;code&gt; svn rm $( svn status | sed -e '/^!/!d' -e 's/^!//' ) &lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Thanks to &lt;a href="http://snipplr.com/view/2362/remove-missing-files-with-svn/"&gt;Snippler&lt;/a&gt; for the snippet.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6021256169505852427-6340428495148831562?l=techpoet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techpoet.blogspot.com/feeds/6340428495148831562/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6021256169505852427&amp;postID=6340428495148831562' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6021256169505852427/posts/default/6340428495148831562'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6021256169505852427/posts/default/6340428495148831562'/><link rel='alternate' type='text/html' href='http://techpoet.blogspot.com/2010/02/delete-multiple-files-in-subversion.html' title='Delete multiple files in Subversion (Linux)'/><author><name>Ernesto Ongaro</name><uri>http://www.blogger.com/profile/04102517836579717069</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_x3f21DSV4eo/S1S0CxlT8NI/AAAAAAAAAig/uAfxLombU1s/S220/DSC00867.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6021256169505852427.post-3020963681444765317</id><published>2010-01-25T15:51:00.000-08:00</published><updated>2010-01-25T15:51:32.263-08:00</updated><title type='text'>Official Google Reader Blog: Follow changes to any website</title><content type='html'>&lt;a href="http://googlereader.blogspot.com/2010/01/follow-changes-to-any-website.html"&gt;Official Google Reader Blog: Follow changes to any website&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6021256169505852427-3020963681444765317?l=techpoet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://googlereader.blogspot.com/2010/01/follow-changes-to-any-website.html' title='Official Google Reader Blog: Follow changes to any website'/><link rel='replies' type='application/atom+xml' href='http://techpoet.blogspot.com/feeds/3020963681444765317/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6021256169505852427&amp;postID=3020963681444765317' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6021256169505852427/posts/default/3020963681444765317'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6021256169505852427/posts/default/3020963681444765317'/><link rel='alternate' type='text/html' href='http://techpoet.blogspot.com/2010/01/official-google-reader-blog-follow.html' title='Official Google Reader Blog: Follow changes to any website'/><author><name>Ernesto Ongaro</name><uri>http://www.blogger.com/profile/04102517836579717069</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_x3f21DSV4eo/S1S0CxlT8NI/AAAAAAAAAig/uAfxLombU1s/S220/DSC00867.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6021256169505852427.post-1219422943253939409</id><published>2010-01-18T10:49:00.003-08:00</published><updated>2010-01-18T11:04:09.822-08:00</updated><title type='text'>Add sbin to user PATH in Debian</title><content type='html'>Debian does not add &lt;a href="http://www.linfo.org/sbin.html"&gt;sbin&lt;/a&gt; to your path by default. I have no idea why. I know sbin is supposed to be administrative tools that you would only want to run as root, however, there are some useful ones that don't require root, and even if they need root, why hide them from useful tools like auto complete?&lt;br /&gt;&lt;br /&gt;Apparentely it's not a new disucssion - &lt;a href="http://lists.debian.org/debian-devel/1999/12/msg00943.html"&gt;this&lt;/a&gt; Debian mailing list thread dates back to a decade ago!&lt;br /&gt;&lt;br /&gt;Regardless, I want it in my path - the easiest way that I've found is to modify the top of &lt;span style="font-style:italic;"&gt;/etc/profile&lt;/span&gt; to remove the if statement that sets path if you're user id 0 (root) or not:&lt;br /&gt;&lt;br /&gt;Before:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;   if [ "`id -u`" -eq 0 ]; then&lt;br /&gt;     PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"&lt;br /&gt;   else&lt;br /&gt;     PATH="/usr/local/bin:/usr/bin:/bin:/usr/games"&lt;br /&gt;  fi&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;After:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;  PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Save the file, log out and log back in and you're all set. Note that this affects all users on your system.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6021256169505852427-1219422943253939409?l=techpoet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techpoet.blogspot.com/feeds/1219422943253939409/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6021256169505852427&amp;postID=1219422943253939409' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6021256169505852427/posts/default/1219422943253939409'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6021256169505852427/posts/default/1219422943253939409'/><link rel='alternate' type='text/html' href='http://techpoet.blogspot.com/2010/01/add-sbin-to-user-path-in-debian.html' title='Add sbin to user PATH in Debian'/><author><name>Ernesto Ongaro</name><uri>http://www.blogger.com/profile/04102517836579717069</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_x3f21DSV4eo/S1S0CxlT8NI/AAAAAAAAAig/uAfxLombU1s/S220/DSC00867.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6021256169505852427.post-3997778705495889737</id><published>2010-01-04T09:21:00.006-08:00</published><updated>2010-01-04T12:16:26.979-08:00</updated><title type='text'>Modifying Headers for testing Virtual Hosting</title><content type='html'>While working on a website hosted on &lt;a href="http://redmine.lighttpd.net/projects/1/wiki/HowToSupportConfigurationPerVirtualHost"&gt;lighty's&lt;/a&gt; virtual hosting environment I realized I wanted a natural way to test the site before pointing the DNS over. If you're sharing one IP for multiple sites then this tip is useful. It uses a Firefox add-on.&lt;br /&gt;&lt;br /&gt;Get the "Modify Headers" Firefox add-on &lt;a href="https://addons.mozilla.org/en-US/firefox/addon/967"&gt;here.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Once installed go to &lt;i&gt;Tools -&gt; Modify Headers&lt;/i&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_x3f21DSV4eo/S0Ija9lmKpI/AAAAAAAAAiU/sU2onhNOyOM/s1600-h/modify_headers.png"&gt;&lt;img style="float:right; margin:0 0 10px 10px;" src="http://2.bp.blogspot.com/_x3f21DSV4eo/S0Ija9lmKpI/AAAAAAAAAiU/sU2onhNOyOM/s200/modify_headers.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5422935847423322770" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Action -&gt; Modify&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Name -&gt; Host&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Value -&gt; Domain you want to "spoof"&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;See a list of other headers you can play with &lt;a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html"&gt;here.&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6021256169505852427-3997778705495889737?l=techpoet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techpoet.blogspot.com/feeds/3997778705495889737/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6021256169505852427&amp;postID=3997778705495889737' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6021256169505852427/posts/default/3997778705495889737'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6021256169505852427/posts/default/3997778705495889737'/><link rel='alternate' type='text/html' href='http://techpoet.blogspot.com/2009/12/modifying-headers-for-testing-virtual.html' title='Modifying Headers for testing Virtual Hosting'/><author><name>Ernesto Ongaro</name><uri>http://www.blogger.com/profile/04102517836579717069</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_x3f21DSV4eo/S1S0CxlT8NI/AAAAAAAAAig/uAfxLombU1s/S220/DSC00867.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_x3f21DSV4eo/S0Ija9lmKpI/AAAAAAAAAiU/sU2onhNOyOM/s72-c/modify_headers.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6021256169505852427.post-2513099871802560863</id><published>2010-01-03T14:21:00.012-08:00</published><updated>2010-01-03T22:26:33.274-08:00</updated><title type='text'>Type accents and other Latin American punctuation on your Mac</title><content type='html'>I'm helping type some of my grandfather's writing from the 1960s (written on a typewriter, not even worth trying OCR) and I needed some punctuation love on my MacBook, this is what I found.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Accents:&lt;/span&gt;&lt;br /&gt;To write accents on letters, just tap Option (alt) + e and then the letter:&lt;br /&gt;&lt;br /&gt;&lt;div class=nobr&gt; &lt;br /&gt;&lt;table style="width: 182px; height: 268px;" border="”1”" cellpadding="”2”" cellspacing="”2”"&gt;&lt;br /&gt;&lt;tbody&gt;&lt;tr&gt;&lt;br /&gt;&lt;td&gt;á&lt;/td&gt;&lt;td&gt;option + e&lt;/td&gt;&lt;td&gt;then a&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td&gt;é&lt;/td&gt;&lt;td&gt;option + e&lt;/td&gt;&lt;td&gt;then e&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td&gt;í&lt;/td&gt;&lt;td&gt;option + e&lt;/td&gt;&lt;td&gt;then i&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td&gt;ó&lt;/td&gt;&lt;td&gt;option + e&lt;/td&gt;&lt;td&gt;then o&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td&gt;ú&lt;/td&gt;&lt;td&gt;option + e&lt;/td&gt;&lt;td&gt;then u&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_x3f21DSV4eo/S0GJY2qw0dI/AAAAAAAAAiM/gk4jxbSPZ8w/s1600-h/IMAG0223.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 200px; height: 150px;" src="http://3.bp.blogspot.com/_x3f21DSV4eo/S0GJY2qw0dI/AAAAAAAAAiM/gk4jxbSPZ8w/s200/IMAG0223.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5422766486415528402" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Enyay (ñ)&lt;/span&gt;&lt;br /&gt;For ñ, tap Option (alt) + n and then n.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Punctuation:&lt;/span&gt;&lt;br /&gt;&lt;div class=nobr&gt; &lt;br /&gt;&lt;table style="width: 182px; height: 26px;" border="”1”" cellpadding="”2”" cellspacing="”2”"&gt;&lt;br /&gt;&lt;tbody&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td&gt;¡&lt;/td&gt;&lt;td&gt;option + 1&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;br /&gt;&lt;td&gt;¿&lt;/td&gt;&lt;td&gt;option + shift + ?&lt;/td&gt;&lt;br /&gt;&lt;/tr&gt;&lt;br /&gt;&lt;/table&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_x3f21DSV4eo/S0GJPRP8_TI/AAAAAAAAAiE/GZjCvmYLAms/s1600-h/mac_keyboard.png"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 200px; height: 86px;" src="http://1.bp.blogspot.com/_x3f21DSV4eo/S0GJPRP8_TI/AAAAAAAAAiE/GZjCvmYLAms/s200/mac_keyboard.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5422766321752145202" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Read more on &lt;a href="http://docs.info.apple.com/article.html?path=Mac/10.6/en/27474.html"&gt;Apple's help page.&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6021256169505852427-2513099871802560863?l=techpoet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techpoet.blogspot.com/feeds/2513099871802560863/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6021256169505852427&amp;postID=2513099871802560863' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6021256169505852427/posts/default/2513099871802560863'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6021256169505852427/posts/default/2513099871802560863'/><link rel='alternate' type='text/html' href='http://techpoet.blogspot.com/2010/01/type-accents-and-other-latin-american.html' title='Type accents and other Latin American punctuation on your Mac'/><author><name>Ernesto Ongaro</name><uri>http://www.blogger.com/profile/04102517836579717069</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_x3f21DSV4eo/S1S0CxlT8NI/AAAAAAAAAig/uAfxLombU1s/S220/DSC00867.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_x3f21DSV4eo/S0GJY2qw0dI/AAAAAAAAAiM/gk4jxbSPZ8w/s72-c/IMAG0223.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6021256169505852427.post-7105153459843874371</id><published>2009-11-23T10:08:00.002-08:00</published><updated>2009-11-23T10:24:54.510-08:00</updated><title type='text'>Love Google Calendar!</title><content type='html'>I always use the quick add feature of Google Calendar to add events, that way I can type in things like "Call with Jack Tuesday morning at 9" and an event is added. Today I figured I'd paste this directly from an email:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Blake has a meeting in Houston on Tuesday. We need to change the staff &lt;br /&gt;meeting to Wednesday. I was thinking 10:00 if that works for you.&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;It seemed like a long shot, but it worked! It made an event on Wednesday at 10 am, I was surprised and then realized that in the future these sorts of things will be parsed from your email automatically and you'll simply accept them into your calendar. I like!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6021256169505852427-7105153459843874371?l=techpoet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techpoet.blogspot.com/feeds/7105153459843874371/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6021256169505852427&amp;postID=7105153459843874371' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6021256169505852427/posts/default/7105153459843874371'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6021256169505852427/posts/default/7105153459843874371'/><link rel='alternate' type='text/html' href='http://techpoet.blogspot.com/2009/11/love-google-calendar.html' title='Love Google Calendar!'/><author><name>Ernesto Ongaro</name><uri>http://www.blogger.com/profile/04102517836579717069</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_x3f21DSV4eo/S1S0CxlT8NI/AAAAAAAAAig/uAfxLombU1s/S220/DSC00867.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6021256169505852427.post-7845849885818032553</id><published>2009-11-01T13:35:00.004-08:00</published><updated>2009-11-01T13:58:55.231-08:00</updated><title type='text'>Nagios Asterisk IAX2 POKE with check_asterisk.pl</title><content type='html'>It seems that since around Asterisk 1.4.26.2 the Nagios contrib plugin &lt;span style="font-style:italic;"&gt;check_asterisk&lt;/span&gt; has stopped working for the "iax ping" feature. I turned on iax debugging in Asterisk and did a packet capture. Seems like the only reason why it worked was because it sent a &lt;span style="font-style:italic;"&gt;0x06 REJECT&lt;/span&gt; frame and Asterisk would reply with invalid. I changed it to send a &lt;span style="font-style:italic;"&gt;0x1e POKE &lt;/span&gt; request and submitted a small patch to fix this in the plugin. I seriously doubt the Nagios Plugins team will do anything with it since there's no upstream maintainer and it's in the contrib directory so here's the patch:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;--- check_asterisk.pl 2009-09-24 03:13:56.000000000 -0700&lt;br /&gt;+++ check_asterisk.pl.changed 2009-11-01 13:10:06.000000000 -0800&lt;br /&gt;@@ -31,7 +31,8 @@&lt;br /&gt; my $iax_timestamp = "00000000"; &lt;br /&gt; my $iax_outbound_seq = "00"; &lt;br /&gt; my $iax_inbound_seq = "00"; &lt;br /&gt;-my $iax_type = "06"; #IAX_Control &lt;br /&gt;+my $iax_type = "06"; #IAX_Control&lt;br /&gt;+my $iax_frame_value = "1e"; #POKE&lt;br /&gt; &lt;br /&gt; sub ok {&lt;br /&gt;  $s = shift;&lt;br /&gt;@@ -224,7 +225,7 @@&lt;br /&gt;  socket(PING, PF_INET, SOCK_DGRAM, getprotobyname("udp")); &lt;br /&gt; &lt;br /&gt;  $msg = pack "H24", $iax_src_call . $iax_dst_call . $iax_timestamp .&lt;br /&gt;-  $iax_outbound_seq . $iax_inbound_seq . $iax_type . $iax_type;&lt;br /&gt;+  $iax_outbound_seq . $iax_inbound_seq . $iax_type . $iax_frame_value ;&lt;br /&gt; &lt;br /&gt;  $ipaddr = inet_aton($host); &lt;br /&gt;  $sendto = sockaddr_in($port,$ipaddr); &lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;You should also check out &lt;a href="https://sourceforge.net/tracker/index.php?func=detail&amp;aid=2814784&amp;group_id=29880&amp;atid=397599"&gt;this patch&lt;/a&gt; that adds performance data to the Nagios plugin. Good for graphing channel usage over time.&lt;br /&gt;&lt;br /&gt;References: &lt;br /&gt; * &lt;a href="http://www.rfc-editor.org/authors/rfc5456.txt"&gt;IAX2 RFC Document&lt;/a&gt;&lt;br /&gt; * &lt;a href="http://nagiosplugins.org/"&gt;Nagios Plugins&lt;/a&gt;&lt;br /&gt; * &lt;a href="https://sourceforge.net/tracker/?func=detail&amp;aid=2890436&amp;group_id=29880&amp;atid=397597"&gt;Bug/Patch Report&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6021256169505852427-7845849885818032553?l=techpoet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techpoet.blogspot.com/feeds/7845849885818032553/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6021256169505852427&amp;postID=7845849885818032553' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6021256169505852427/posts/default/7845849885818032553'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6021256169505852427/posts/default/7845849885818032553'/><link rel='alternate' type='text/html' href='http://techpoet.blogspot.com/2009/11/nagios-asterisk-iax2-poke-with.html' title='Nagios Asterisk IAX2 POKE with check_asterisk.pl'/><author><name>Ernesto Ongaro</name><uri>http://www.blogger.com/profile/04102517836579717069</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_x3f21DSV4eo/S1S0CxlT8NI/AAAAAAAAAig/uAfxLombU1s/S220/DSC00867.jpg'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6021256169505852427.post-5406567946432793632</id><published>2009-10-12T20:39:00.013-07:00</published><updated>2009-10-13T22:59:37.022-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='nagios mdadm raid monitoring'/><title type='text'>Linux Software RAID Nagios Monitoring &amp; Failure Simulation</title><content type='html'>It's always nice to monitor to make sure your technology is working properly, it's nicer knowing that when it fails it will alert you to what happened so sometimes you need to test the scenarios. This is just an overview using &lt;a href="http://www.us.debian.org/"&gt;Debian Lenny&lt;/a&gt; of how to use the &lt;a href="http://neil.brown.name/blog/mdadm"&gt;Linux mdadm&lt;/a&gt; tool to create, destroy and rebuild a software RAID 1 (mirror) device. Throughout the process you will see the effects of the &lt;a href="http://nagios.org/"&gt;Nagios&lt;/a&gt; check_linux_raid plugin from the &lt;a href="http://nagiosplugins.org/node/2"&gt;Nagios Plugins project.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;First I installed the Nagios plugins and mdadm:&lt;br /&gt;&lt;blockquote&gt;&gt;apt-get install mdadm nagios-plugins&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;I used &lt;a href="http://tldp.org/HOWTO/Partition/fdisk_partitioning.html"&gt;fdisk&lt;/a&gt; to create two partitions: /dev/sdc1 &amp;amp; /dev/sdc2 (of equal size, in this case 40 MB, I know, I'm generous.)&lt;br /&gt;&lt;br /&gt;I then used the following command to create a RAID 1 array with the two disks. I happened to call it md0:&lt;br /&gt;&lt;blockquote&gt;&gt;mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sdc1 /dev/sdc2&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Created an ext3 filesystem on my array:&lt;br /&gt;&lt;blockquote&gt;&gt;mkfs.ext3 /dev/md0 &lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Mounted the new file system in an arbitrary location:&lt;br /&gt;&lt;blockquote&gt;&gt;mount /dev/md0 /media/raid&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;The array is now active and happy, here's how to verify:&lt;br /&gt;&lt;blockquote&gt;&gt;mdadm --detail /dev/md0&lt;br /&gt;/dev/md0:&lt;br /&gt;...&lt;br /&gt;   Number   Major   Minor   RaidDevice State&lt;br /&gt;      0       8       33        0      active sync   /dev/sdc1&lt;br /&gt;      1       8       34        1      active sync   /dev/sdc2&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Now I will run the first test of the Nagios plugin, you can give it the device name if you like or it can detect your devices for you.  As you can see all OK (exit status 0):&lt;br /&gt;&lt;blockquote&gt;&gt;/usr/lib/nagios/plugins/check_linux_raid&lt;br /&gt;OK md0 status=[UU].&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Now I'm going to set one of my block devices as faulty:&lt;br /&gt;&lt;blockquote&gt;&gt;mdadm /dev/md0 -f /dev/sdc2&lt;br /&gt;mdadm: set /dev/sdc2 faulty in /dev/md0&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;To verify the array is degraded we'll look at the details again:&lt;br /&gt;&lt;blockquote&gt;&gt;mdadm --detail /dev/md0&lt;br /&gt;/dev/md0:&lt;br /&gt;...&lt;br /&gt;         State : clean, degraded&lt;br /&gt;Active Devices : 1&lt;br /&gt;Working Devices : 1&lt;br /&gt;Failed Devices : 1&lt;br /&gt; Spare Devices : 0&lt;br /&gt;&lt;br /&gt;          UUID : 3103faf6:34bec8ae:2689ae2c:f32f1e02 (local to host buenos-aires)&lt;br /&gt;        Events : 0.8&lt;br /&gt;&lt;br /&gt;   Number   Major   Minor   RaidDevice State&lt;br /&gt;      0       8       33        0      active sync   /dev/sdc1&lt;br /&gt;      1       0        0        1      removed&lt;br /&gt;&lt;br /&gt;      2       8       34        -      faulty spare   /dev/sdc2&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;You'll notice /dev/sdc2 is now marked as a faulty spare.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Another check of the Nagios Plugin reveals an exit code of 2 and the service as critical:&lt;br /&gt;&lt;blockquote&gt;&gt;/usr/lib/nagios/plugins/check_linux_raid&lt;br /&gt;CRITICAL md0 status=[U_].&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;I now remove the faulty device from the array completely (note it must be marked faulty first per the last step):&lt;br /&gt;&lt;blockquote&gt;&gt;mdadm /dev/md0 -r /dev/sdc2&lt;br /&gt;mdadm: hot removed /dev/sdc2&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Again test the plugin, still marked as down:&lt;br /&gt;&lt;blockquote&gt;&gt;./check_linux_raid&lt;br /&gt;CRITICAL md0 status=[U_].&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Now I can re-add the device to the array (since there's really nothing wrong with it). Once it rebuilds you can test again and it will show as OK on the Nagios plugin.&lt;br /&gt;&lt;blockquote&gt;mdadm /dev/md0 -a /dev/sdc2&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;You can read more about &lt;a href="http://tldp.org/HOWTO/Software-RAID-HOWTO.html"&gt;Linux software RAID here&lt;/a&gt;. Or about &lt;a href="http://www.nagios.org/"&gt;Nagios here&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6021256169505852427-5406567946432793632?l=techpoet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techpoet.blogspot.com/feeds/5406567946432793632/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6021256169505852427&amp;postID=5406567946432793632' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6021256169505852427/posts/default/5406567946432793632'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6021256169505852427/posts/default/5406567946432793632'/><link rel='alternate' type='text/html' href='http://techpoet.blogspot.com/2009/10/linux-software-raid-nagios-monitoring.html' title='Linux Software RAID Nagios Monitoring &amp; Failure Simulation'/><author><name>Ernesto Ongaro</name><uri>http://www.blogger.com/profile/04102517836579717069</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_x3f21DSV4eo/S1S0CxlT8NI/AAAAAAAAAig/uAfxLombU1s/S220/DSC00867.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6021256169505852427.post-5079672518813915690</id><published>2009-08-05T13:43:00.006-07:00</published><updated>2009-08-05T13:52:05.940-07:00</updated><title type='text'>Moving, Migrating, or Backing Up Microsoft PPTP VPN Profiles</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_x3f21DSV4eo/Snnwrfe7etI/AAAAAAAAAfE/J5drP6enwls/s1600-h/vpn_icon.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 80px; height: 75px;" src="http://4.bp.blogspot.com/_x3f21DSV4eo/Snnwrfe7etI/AAAAAAAAAfE/J5drP6enwls/s200/vpn_icon.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5366585060964924114" /&gt;&lt;/a&gt;&lt;br /&gt;So I'm moving from one Windows XP machine to another and I don't want to have to set up all the VPN profiles again. They are stored in the file &lt;br /&gt;&lt;br /&gt;&lt;code&gt;C:\Documents and Settings\All&lt;br /&gt;Users\Application Data\Microsoft\Network\Connections\Pbk\RASPhone.pbk&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Just make a copy of that file and put it on your new system. It doesn't save your passwords though. I'll update this post if I find a way to back up the saved passwords.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6021256169505852427-5079672518813915690?l=techpoet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techpoet.blogspot.com/feeds/5079672518813915690/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6021256169505852427&amp;postID=5079672518813915690' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6021256169505852427/posts/default/5079672518813915690'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6021256169505852427/posts/default/5079672518813915690'/><link rel='alternate' type='text/html' href='http://techpoet.blogspot.com/2009/08/moving-migrating-or-backing-up.html' title='Moving, Migrating, or Backing Up Microsoft PPTP VPN Profiles'/><author><name>Ernesto Ongaro</name><uri>http://www.blogger.com/profile/04102517836579717069</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_x3f21DSV4eo/S1S0CxlT8NI/AAAAAAAAAig/uAfxLombU1s/S220/DSC00867.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_x3f21DSV4eo/Snnwrfe7etI/AAAAAAAAAfE/J5drP6enwls/s72-c/vpn_icon.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6021256169505852427.post-7126793592966020437</id><published>2009-07-16T22:25:00.000-07:00</published><updated>2009-07-17T09:17:14.246-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='windows mobile'/><category scheme='http://www.blogger.com/atom/ns#' term='windows mobile 6.1'/><category scheme='http://www.blogger.com/atom/ns#' term='windows mobile 6.5'/><title type='text'>Comparison of Windows Mobile 6.1 and 6.5</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_x3f21DSV4eo/SmCj1b372aI/AAAAAAAAAcU/SHPcwXWrqUY/s1600-h/htc-touch-pro-official-01.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 200px; height: 134px;" src="http://3.bp.blogspot.com/_x3f21DSV4eo/SmCj1b372aI/AAAAAAAAAcU/SHPcwXWrqUY/s200/htc-touch-pro-official-01.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5359463694981650850" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Complaints about Windows Mobile 6.1&lt;/span&gt;&lt;br /&gt;I've owned an HTC Fuze (aka Touch Pro or P4600) Windows Mobile phone since mid February of 2009. General impressions of the hardware are good, a solid construction paired with a beautiful VGA resolution screen. My first PC came with a 15 inch 640x480 monitor, this has a 2.8 inch 480x640, 3:4 aspect ration screen. 5X smaller, with 16 bit color. This is the most attractive thing about this device. Dead sexy.&lt;br /&gt;&lt;br /&gt;So far I've been rather unimpressed by the lack of stability on the phone. There are many quirks to it. One especially annoying one is when you start to run low on batteries the phones' phony notification system turns on, along with the back light and radios to alert you that the battery is dying. If you didn't notice, it's kind enough to stay on until it goes completely dead. This is a major issue with the phone, it already has pretty lousy battery life (though not too far from what the iPhone gets). &lt;br /&gt;&lt;br /&gt;Another major annoyance is that the keyboard stops working when you are typing sometimes. I assume there's a background process that eats all the CPU cycles. There's little consistency to the problem in that sometimes input will be queued and released all at one or not at all. Pain in the butt to type on when this happens, the keyboard on the Fuze is one of the best I've seen - seems like the software is to blame here.&lt;br /&gt;&lt;br /&gt;The phone needs a lot of rebooting, especially using programs other than email. It is so bad that I read on a forum somewhere "Do this procedure every reboot or once a day" - Like rebooting once a day is totally normal - that's the Windows Me mentality that has held a dark shitty cloud over Microsoft for some time.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Windows Mobile 6.5&lt;/span&gt;&lt;br /&gt;Windows Mobile 6.5 is set to be seen on the first consumer device by September 2009, most phone manufacturers received the software in May. I'm using a beta preview. &lt;br /&gt;&lt;br /&gt;One of the problems with 6.1 is that I have to run a separate package on top of Windows called Touch Flo 3D. This makes the phone a bit more touch friendly but adds a giant layer of clunk. Below TF3D is 6.1 so you only get the nicer experience some of the time. With 6.5 one of the major changes is a redesign of the Today screen. It gives you quicker finger-friendly access to email, text, music, photos, videos, and bookmarks. Though TF3D also does this it's a memory hungry app that resides on top of the OS, this is better integrated and lighter. &lt;br /&gt;&lt;br /&gt;The second major area of improvement is the Start Menu. The start menu uses hexagonal shapes for icon placement. The icons are a beautiful resolution and quite easy to navigate with the fingers, stylus, . Scrolling is pretty nice and you can re-arrange the icons by sending them to the top. &lt;br /&gt;&lt;br /&gt;Windows Mobile was designed a LONG time ago and I don't think anyone thought that it would be ran on a mobile phone with a touch screen. It is really designed for a stylus - not a finger. I find myself when doing heavy computing on the device with the keyboard slid out, the stylus in my hand and my thumbs on the screen. Beleive it or not - this is actually a really awesome way to use the phone - I can be doing quite a bit at once. To conclude this statement - 6.5 adds some finger friendly features however it does not stop you from having to use the corner of a finger nail to press the dreaded OK button. I often open up the keyboard and press the OK button there instead of messing with it.&lt;br /&gt;&lt;br /&gt;Overall - I'm pretty happy with the stability that 6.5 offers. There's a Marketplace feature (similar to iPhone's App Store) that is coming with the release. That should be interesting.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6021256169505852427-7126793592966020437?l=techpoet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techpoet.blogspot.com/feeds/7126793592966020437/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6021256169505852427&amp;postID=7126793592966020437' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6021256169505852427/posts/default/7126793592966020437'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6021256169505852427/posts/default/7126793592966020437'/><link rel='alternate' type='text/html' href='http://techpoet.blogspot.com/2009/07/comparison-of-windows-mobile-61-and-65.html' title='Comparison of Windows Mobile 6.1 and 6.5'/><author><name>Ernesto Ongaro</name><uri>http://www.blogger.com/profile/04102517836579717069</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_x3f21DSV4eo/S1S0CxlT8NI/AAAAAAAAAig/uAfxLombU1s/S220/DSC00867.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_x3f21DSV4eo/SmCj1b372aI/AAAAAAAAAcU/SHPcwXWrqUY/s72-c/htc-touch-pro-official-01.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6021256169505852427.post-7214561825595464457</id><published>2009-04-12T08:19:00.003-07:00</published><updated>2009-04-12T08:26:57.675-07:00</updated><title type='text'>Naming of ethernet devices on Debian</title><content type='html'>If you change network cards in Debian, the new card will get a new "ethX" name, assuming that perhaps you want to put the old one back one day and keep the configuration. &lt;br /&gt;&lt;br /&gt;Sometimes this isn't the case and you don't want to have ethernet devices named eth5 or similar.&lt;br /&gt;&lt;br /&gt;A simple fix, the file:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;/etc/udev/rules.d/70-persistent-net.rules&lt;/code&gt; &lt;br /&gt;&lt;br /&gt;has the rules to persistently name your ethernet interfaces, simply edit that and remove any entries that are no longer needed; renaming the other ones to your needs. The file had the driver and MAC address so they are simple to find. Here's an example (with the macs slightly changed):&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;# PCI device 0x8086:0x1076 (e1000)&lt;br /&gt;SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:14:22:72:d7:2d", NAME="eth0"&lt;br /&gt;&lt;br /&gt;# PCI device 0x8086:0x1076 (e1000)&lt;br /&gt;SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:14:22:72:d7:2c", NAME="eth1"&lt;br /&gt;&lt;br /&gt;# USB device 0b95:7720 (asix)&lt;br /&gt;SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:50:5b:04:85:5f", NAME="eth2"&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/6021256169505852427-7214561825595464457?l=techpoet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techpoet.blogspot.com/feeds/7214561825595464457/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6021256169505852427&amp;postID=7214561825595464457' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6021256169505852427/posts/default/7214561825595464457'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6021256169505852427/posts/default/7214561825595464457'/><link rel='alternate' type='text/html' href='http://techpoet.blogspot.com/2009/04/naming-of-ethernet-devices-on-debian.html' title='Naming of ethernet devices on Debian'/><author><name>Ernesto Ongaro</name><uri>http://www.blogger.com/profile/04102517836579717069</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_x3f21DSV4eo/S1S0CxlT8NI/AAAAAAAAAig/uAfxLombU1s/S220/DSC00867.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6021256169505852427.post-4957414356872108970</id><published>2009-03-25T14:51:00.005-07:00</published><updated>2009-03-25T15:02:23.947-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>Pasting in Vim</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_x3f21DSV4eo/ScqpxblMV0I/AAAAAAAAAJs/pHbJSE_mnuA/s1600-h/Vimlogo.png"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 61px; height: 60px;" src="http://2.bp.blogspot.com/_x3f21DSV4eo/ScqpxblMV0I/AAAAAAAAAJs/pHbJSE_mnuA/s200/Vimlogo.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5317248976746731330" /&gt;&lt;/a&gt;&lt;br /&gt;For years now I've been using &lt;a href="http://www.nano-editor.org/"&gt;nano&lt;/a&gt; with the no word wrap flag to paste stuff into *nix terminals. This kind of sucks because &lt;a href="http://www.vim.org"&gt;Vim&lt;/a&gt; is my favorite editor, however when you try to paste it indents everything for you and ends up with a bloody mess. Well I found that you can:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;code&gt;:set paste&lt;/code&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;paste what you want and then &lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;code&gt;:set nopaste&lt;/code&gt;&lt;/b&gt; when you're done. Wooohoo!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6021256169505852427-4957414356872108970?l=techpoet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techpoet.blogspot.com/feeds/4957414356872108970/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6021256169505852427&amp;postID=4957414356872108970' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6021256169505852427/posts/default/4957414356872108970'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6021256169505852427/posts/default/4957414356872108970'/><link rel='alternate' type='text/html' href='http://techpoet.blogspot.com/2009/03/pasting-in-vim.html' title='Pasting in Vim'/><author><name>Ernesto Ongaro</name><uri>http://www.blogger.com/profile/04102517836579717069</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_x3f21DSV4eo/S1S0CxlT8NI/AAAAAAAAAig/uAfxLombU1s/S220/DSC00867.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_x3f21DSV4eo/ScqpxblMV0I/AAAAAAAAAJs/pHbJSE_mnuA/s72-c/Vimlogo.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6021256169505852427.post-3577205156462346147</id><published>2009-03-02T13:36:00.005-08:00</published><updated>2009-03-02T14:13:23.949-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='hardware laptop eeePC'/><title type='text'>Update on my eeePC</title><content type='html'>So a few weeks ago I was working on my eeePC and got some kernel panic warnings and disk read errors. I rebooted to run a full fsck..Sure enough my drive was completely corrupt. I reformatted after playing around with &lt;a href="http://linux.die.net/man/8/badblocks"&gt;badblocks&lt;/a&gt;. Still no joy after that, the drive had a physical problem with it.&lt;br /&gt;&lt;br /&gt;I started the somewhat tedious process of sending the netbook in for warranty repairs. I must say that Asus obfuscates the whole process, most likely in hopes that people will simply give up and buy a new laptop. The phone menus were terrible, only after emailing them they told me the right key sequence to push to successfully navigate to the warranty section. The key sequence would have been impossible to get to since it was not advertised by their phone menu. As a guy that occasionally programs auto attendant menus - that's terrible. Fsck that.&lt;br /&gt;&lt;br /&gt;The process took about 2 weeks but I got back Friday. &lt;br /&gt;&lt;br /&gt;I decided to give &lt;a href="http://icculus.org/openbox/index.php/Main_Page"&gt;openbox&lt;/a&gt; + &lt;a href="http://www.lxde.org/"&gt;lxde&lt;/a&gt; a try, running on the newly released &lt;a href="http://wiki.debian.org/DebianLenny"&gt;Debian Lenny&lt;/a&gt;. So far so good. I ran into an issue with getting wireless going on Lenny final, I had to compile the madwifi source since the &lt;a href="http://madwifi-project.org/wiki/About/ath5k"&gt;open source driver, ath5k&lt;/a&gt; did not do what it advertised. I'm not a huge GNU purist so I don't really care.&lt;br /&gt;&lt;br /&gt;I'm disappointed to have hardware problems so early in this machine's life..might be just a fluke though.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6021256169505852427-3577205156462346147?l=techpoet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techpoet.blogspot.com/feeds/3577205156462346147/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6021256169505852427&amp;postID=3577205156462346147' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6021256169505852427/posts/default/3577205156462346147'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6021256169505852427/posts/default/3577205156462346147'/><link rel='alternate' type='text/html' href='http://techpoet.blogspot.com/2009/03/update-on-my-eeepc.html' title='Update on my eeePC'/><author><name>Ernesto Ongaro</name><uri>http://www.blogger.com/profile/04102517836579717069</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_x3f21DSV4eo/S1S0CxlT8NI/AAAAAAAAAig/uAfxLombU1s/S220/DSC00867.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6021256169505852427.post-8319282905095116359</id><published>2008-11-14T06:59:00.004-08:00</published><updated>2008-11-14T07:32:45.041-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='energy consumption'/><title type='text'>Power consumption of my Windows Desktop</title><content type='html'>I ran into a rather interesting discovery regarding power consumption of my PC while in sleep mode.&lt;br /&gt;&lt;br /&gt;Using a &lt;a href="http://www.p3international.com/products/special/P4400/P4400-CE.html"&gt;Kill-A-Watt&lt;/a&gt; I measured how much power my computer uses. &lt;br /&gt;&lt;br /&gt;While under normal operation, I use around 120-170 Watts. This is reasonable for my hardware - Core 2 Duo 7200, GeForce 6800GT, 22 inch ViewSonic flat panel.&lt;br /&gt;&lt;br /&gt;Then I tested the watt usage while the machine was in a "Sleep" state. The result was a surprisingly low 13 watts. &lt;br /&gt;&lt;br /&gt;I noticed that I could not wake my computer up using my USB keyboard, only the power button. So in Control Panel -&gt; System -&gt; Hardware -&gt; Device Manager -&gt; Keyboards -&gt; Power Management I checked "Allow this device to bring the computer out of standby". I then re-ran the test with the Kill-A-Watt.&lt;br /&gt;&lt;br /&gt;With this option enabled my consumption during sleep mode went up to 66 watts! That's a 500% increase! &lt;br /&gt;&lt;br /&gt;I leave my PC on 24x7x365. Looking at my last bill I pay .16 cents for a kilowatt. Having this option turned on will cost me an extra $75/ year. No thanks, I'll just push the power button to wake up from now on.&lt;br /&gt;&lt;br /&gt;If anyone else has a way to measure energy consumption - post your results.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6021256169505852427-8319282905095116359?l=techpoet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techpoet.blogspot.com/feeds/8319282905095116359/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6021256169505852427&amp;postID=8319282905095116359' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6021256169505852427/posts/default/8319282905095116359'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6021256169505852427/posts/default/8319282905095116359'/><link rel='alternate' type='text/html' href='http://techpoet.blogspot.com/2008/11/power-consumption-of-my-windows-desktop.html' title='Power consumption of my Windows Desktop'/><author><name>Ernesto Ongaro</name><uri>http://www.blogger.com/profile/04102517836579717069</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_x3f21DSV4eo/S1S0CxlT8NI/AAAAAAAAAig/uAfxLombU1s/S220/DSC00867.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6021256169505852427.post-835172643360089524</id><published>2008-10-20T19:39:00.007-07:00</published><updated>2008-10-20T20:59:12.914-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='laptop'/><category scheme='http://www.blogger.com/atom/ns#' term='hardware'/><title type='text'>Two Months with my Asus eeePC</title><content type='html'>Back in August I replaced my aging 15.4 inch Sony laptop with an Asus &lt;a href="http://eeepc.asus.com/global/product900.html?n=0"&gt;eeePC 900&lt;/a&gt;. This is somewhat of a review of my experience so far; wrestling with various operating systems and my impressions of the hardware.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;Specs&lt;/span&gt;&lt;br /&gt;The particular eeePC 900 I purchased from &lt;a href="http://www.newegg.com/"&gt;Newegg &lt;/a&gt;has the following specs:&lt;br /&gt;&lt;br /&gt;Celeron M processor clocked @ 900Mhz&lt;br /&gt;4 GB Solid State Drive for OS&lt;br /&gt;16GB Solid State Drive for data&lt;br /&gt;Xandros Linux&lt;br /&gt;1 GB DDR2 RAM&lt;br /&gt;1024x600 8.9-inch screen&lt;br /&gt;webcam/microphone/vga out/sd reader&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;Operating Systems&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:100%;" &gt;First try...Egg&lt;/span&gt;&lt;br /&gt;I decided to give the pre-loaded, linux based, Xandros OS a chance. The very first impression I had of it was quite positive. It booted EXTREMELY fast. In fact, the fastest boot of any operating system I have ever seen; 20 seconds. Once I logged in I quickly found my way around the simple tab based interface. It reminded me a little bit of &lt;a href="http://en.wikipedia.org/wiki/GEOS_%2816-bit_operating_system%29"&gt;Geo Works &lt;/a&gt;(an operating system that was on my first computer; a Laser 386.) I did my best to connect in my work email, extend firefox, customize it a bit and get some use out of it. I quickly became frustrated with the disappointing options for adding software and customizing the existing software. Besides the quick boot times - I really did not find anything good about the operating system that came on it. I didn't expect that I would like it; I simply wanted to give it a chance.&lt;br /&gt;&lt;br /&gt;Correction - one more almost cool feature was the VoiceCommand application - though I found myself talking to my PC too much and felt a bit odd.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Second go Around - Caterpillar&lt;/span&gt;&lt;br /&gt;After a week or so of Xandros - I decided to load Ubuntu 8.04 onto the eee PC. Ubuntu has been a solid performer for me on the desktop. It's a full featured operating system and comes with everything you need out of the box to be productive- this I will not deny it.&lt;br /&gt;I easily loaded a live CD onto a flash drive and installed from there. Install went smooth and I think almost everything worked out of the box after a few minutes of applying some quick patches.&lt;br /&gt;However, Ubuntu has become a very FAT distribution. Package dependencies are a bit of a nightmare. On my little eee PC this was simply too much. Boot times were disappointing and trying to remove extra packages was a nightmare with Ubuntu's heavy dependencies on tools that make the average Linux user's life easy. Those tools I started to hate more and more. Then I ran into some trouble getting my microphone to work and in a moment of desperation, I decided to try another operating system.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Third experimentation - Pupa&lt;/span&gt;&lt;br /&gt;When I gave up on Ubuntu for being too fat I decided to give Windows XP SP3 a chance. For this, unfortunately, I was forced to buy an external CD-ROM drive. I ran into some trouble getting the eee PC to boot into an image of the Windows installer on a thumb drive. No big deal, I needed one anyways.&lt;br /&gt;I decided to go with a slimmed down image of XP SP3 using XP-Lite. The install went smooth. Of course, nothing worked out of the box (networking, acpi, etc). Asus was nice enough to include a CD of the Windows drivers necessary to run on this machine. The driver install process took up almost 1.5 hours of my time. Once I got past that, the computer ran pretty well with XP. It booted quickly, seemed pretty stable, etc. I used it with XP for close to a month. One day I decided to tether my Blackberry Perl with the laptop to receive internet wirelessly. I loaded the huge program Blackberry Manager and proceeded with a sync. Failed. Many many failures and re-installations. The software slowed my computer to a crawl. It was pathetic. Then I was reminded why I don't use Windows - it gets way too slow once you add software. After some more disappointments - and lack of the basic Linux networking tools that I have grown to need, I decided once again to switch.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Fourth Iteration - Butterfly&lt;/span&gt;&lt;br /&gt;For the final chapter of my eee PC, which I named Wall-eee after Pixar's latest masterpiece - &lt;a href="http://en.wikipedia.org/wiki/Walle"&gt;Wall-E  &lt;/a&gt;I decided to go with Debian Lenny. Lenny is Debian's upcoming release and is still considered "testing". Installation was not difficult since I already had an external CD drive. Out of the box, wired and wireless networking did not work. Wired networking was easy, wireless a bit more work but simple using module-assistant. I decided to go with &lt;a href="http://www.xfce.org/"&gt;xfce4&lt;/a&gt; as my desktop enviornment. Finally, I felt right at home. I was in full control of the packages that were being installed - nothing extra, nothing fancy. Some of the applications I use on Debian are:&lt;br /&gt;* &lt;a href="http://goodies.xfce.org/projects/panel-plugins/xfce4-places-plugin"&gt;xfce4-places plugin&lt;/a&gt; - quick access to folders, documents, and removable media (writen by my brother &lt;a href="http://ongardie.net/diego/"&gt;Diego&lt;/a&gt;)&lt;br /&gt;* &lt;a href="http://goodies.xfce.org/projects/panel-plugins/xfce4-datetime-plugin"&gt;date-time plugin&lt;/a&gt; - a panel plugin that gives you better control of the (you guessed it!) date and time and shows a calendar - again partial to this because my brother maintains it.&lt;br /&gt;* &lt;a href="http://developer.pidgin.im/wiki/Using%20Finch"&gt;finch&lt;/a&gt; - an ncurses based front end to libpurple (pidgin). It's very lightweight and allows me to connect into AIM, Gtalk, MSN and others. It has full support for sending/receiving files - just console based so it's not "pretty".&lt;br /&gt;* &lt;a href="http://www.cis.upenn.edu/%7Ebcpierce/unison/"&gt;Unison&lt;/a&gt; - a 2 way file synchronizer that works over SSH using rsync - very useful for work.&lt;br /&gt;&lt;br /&gt;Although configuration of Debain can be quite a task - I feel security in it's stableness and maturity. I have faith that when I change something it will stay the way I left it. In Ubuntu - there is little guarantee of that since they attempt to have everything pre-configured and re-configured to suit their taste.&lt;br /&gt;With Debian, my eee PC boots in around 45 seconds. I improved on this by trimming some fat from boot up services, removing extra boot time packages - like some loggers and not using GDM as a start up manager (just log in and run startx). Next I will compile my own kernel with all needed packages compiled in, I will follow up what my boot time is after that.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;Hardware &lt;/span&gt;&lt;br /&gt;So far I have focused on the software with little mention of the hardware. I am absolutely in love with this piece of hardware. It's exteremely solid. The only moving part that I am aware of is the CPU fan, which seldom runs. The screen passes my hing test (I can pick the laptop up by using the screen and the screen hinge does not move). The camera and microphone get some good use using Skype or a softphone. Plenty of USB ports (they saved my sanity during Hurricane Ike by charging 2 iPods and my phone). The power adapter is very small. The machine weighs close to nothing. I carry it around everywhere. It's small size comes in handy when working on a 66 block or something where I'm referring to documentation (holding Wall-eee) and using a tool with the other hand. Battery life is comparable to my Sony - around 1.5 to 2.5 hours. Not impressive but not bad either. I'm sure I could squeeze more out of it by tweaking with the screen brightness, turning off wifi, throttling the CPU, etc. The keyboard is pretty easy to get use to - not full size by any means but I can type on it with relative ease.&lt;br /&gt;&lt;br /&gt;In the end, I would recommend this PC to anyone who needs a super portable PC. If you have to do any extended work on a laptop - this thing is not for you. The screen real estate is lacking. If you are constantly moving around, booting up, changing network configs, running diagnostics, working in a cramped server closet - this thing is your best friend.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6021256169505852427-835172643360089524?l=techpoet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techpoet.blogspot.com/feeds/835172643360089524/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6021256169505852427&amp;postID=835172643360089524' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6021256169505852427/posts/default/835172643360089524'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6021256169505852427/posts/default/835172643360089524'/><link rel='alternate' type='text/html' href='http://techpoet.blogspot.com/2008/10/two-months-with-my-asus-eeepc.html' title='Two Months with my Asus eeePC'/><author><name>Ernesto Ongaro</name><uri>http://www.blogger.com/profile/04102517836579717069</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_x3f21DSV4eo/S1S0CxlT8NI/AAAAAAAAAig/uAfxLombU1s/S220/DSC00867.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6021256169505852427.post-4106402980496778388</id><published>2008-07-22T20:42:00.014-07:00</published><updated>2008-07-23T12:02:59.942-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='wireless'/><category scheme='http://www.blogger.com/atom/ns#' term='dd-wrt'/><category scheme='http://www.blogger.com/atom/ns#' term='antennas'/><title type='text'>Wireless Antenna Experimentation and Review</title><content type='html'>I purchased two &lt;a href="http://www.radioshack.com/product/index.jsp?productId=2498116"&gt;Gigaware 21-162&lt;/a&gt; wireless antennas from &lt;a href="http://www.radioshack.com/"&gt;Radio Shack&lt;/a&gt; in order to get a longer range wireless connection between two routers. I am going to move into an apartment across the street and  from a friend who already pays for internet access and is happy to share it with me. I am going to replace the stock antennas on my 2 Linksys &lt;a href="http://en.wikipedia.org/wiki/WRT54G"&gt;WRT54G&lt;/a&gt; routers with the ones from Gigaware in hopes to get a clear signal.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_x3f21DSV4eo/SIa78LSx7vI/AAAAAAAAACw/0dBd7hF-WZI/s1600-h/img_0219.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://2.bp.blogspot.com/_x3f21DSV4eo/SIa78LSx7vI/AAAAAAAAACw/0dBd7hF-WZI/s200/img_0219.jpg" alt="" id="BLOGGER_PHOTO_ID_5226071060108144370" border="0" /&gt;&lt;/a&gt;The firmware on the routers I am using are open source router distros that will allow me more control of the transmitters and allow the Linksys WRT54G routers to be put into a bridged mode (which allows for one to connect to the other and bridge two networks into one wirelessly separated logical network ). The master router uses &lt;a href="http://dd-wrt.com/dd-wrtv3/index.php"&gt;DD-WRT v24 RC6&lt;/a&gt; and the slave one uses &lt;a href="http://www.polarcloud.com/tomato/"&gt;Tomato Firmware v1.19.1463&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;You can relatively easily achieve the router configuration portion of this with &lt;a href="http://dd-wrt.com/wiki/index.php/Wireless_Bridge"&gt;these instructions&lt;/a&gt; from the DD-WRT Wiki. The Tomato config is just as simple, the GUIs are very intuitive.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_x3f21DSV4eo/SIatQFQH_-I/AAAAAAAAACQ/S-iVRuoxNJs/s1600-h/img_0216.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://4.bp.blogspot.com/_x3f21DSV4eo/SIatQFQH_-I/AAAAAAAAACQ/S-iVRuoxNJs/s200/img_0216.jpg" alt="" id="BLOGGER_PHOTO_ID_5226054909409361890" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;The antennas are very easy to install, I unscrewed the factory antennas and screwed the replacements right in. The antennas are twice as long as the factory antennas and give my WRT54Gs a nice ego boost.&lt;br /&gt;&lt;br /&gt;The antennas claim to have a 7 dBi gain. I wanted to see what sort of gain I would get after installing them on a router running DD-WRT. I left the advanced wireless settings at their default and got these results:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_x3f21DSV4eo/SIayLvCLjOI/AAAAAAAAACY/gHNFKQZF_uo/s1600-h/graph.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_x3f21DSV4eo/SIayLvCLjOI/AAAAAAAAACY/gHNFKQZF_uo/s320/graph.png" alt="" id="BLOGGER_PHOTO_ID_5226060332283956450" border="0" /&gt;&lt;/a&gt;The results come from running the command: &lt;span style="font-style: italic;"&gt;watch&lt;/span&gt; &lt;span style="font-style: italic;"&gt;"iwlist wlan0 scan" | head &lt;/span&gt;on my Debian laptop&lt;span style="font-style: italic;"&gt;, &lt;/span&gt;which allow me to see a "Quality" measurement and a "Signal Level" measurement. The laptop was about 20 feet from the router and did not move during the tests. Some of the quality measurements would fluctuate by around 4 points, the figures where calculated using an average.&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_x3f21DSV4eo/SIa1AQbHHJI/AAAAAAAAACg/QrxqfIdv_kg/s1600-h/graph2.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_x3f21DSV4eo/SIa1AQbHHJI/AAAAAAAAACg/QrxqfIdv_kg/s320/graph2.png" alt="" id="BLOGGER_PHOTO_ID_5226063433623346322" border="0" /&gt;&lt;/a&gt; &lt;span style="font-style: italic;"&gt;(Note that Signal Levels closer to zero are better).&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;To interpret that data a little bit, installing the antennas gave me a 15% boost if measured by "Signal Levels" and a 12.5% increase if measured in "Quality". In dB the difference was 6 dB, the box claims dBi. (Not sure what the difference is between dB and dBi.&lt;br /&gt;&lt;br /&gt;Yes, it would be nice to know how these results affect coverage area...I have not performed any long distance tests yet as that requires my neighbor's to know that I am a complete geek. Don't worry they will come. Additionally, I may add that there are surely some problems with this data - don't quote me on these numbers.&lt;br /&gt;&lt;br /&gt;Specifications of the Gigaware 25-162 (from the box):&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Purchased from: Radio Shack&lt;/li&gt;&lt;li&gt;Purchase Price: $7.97&lt;/li&gt;&lt;li&gt;Frequency: 2.4 GHz&lt;/li&gt;&lt;li&gt;Gain: 7dBi&lt;/li&gt;&lt;li&gt;Transmission pattern, 20 degrees vertical&lt;/li&gt;&lt;li&gt;VSWR: 2:1 max&lt;/li&gt;&lt;li&gt;Impedence: 50 ohms&lt;/li&gt;&lt;li&gt;Power handling: 2 watts&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;I will be moving September 1st and will post the results of the internet sharing attempt.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6021256169505852427-4106402980496778388?l=techpoet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techpoet.blogspot.com/feeds/4106402980496778388/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6021256169505852427&amp;postID=4106402980496778388' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6021256169505852427/posts/default/4106402980496778388'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6021256169505852427/posts/default/4106402980496778388'/><link rel='alternate' type='text/html' href='http://techpoet.blogspot.com/2008/07/wireless-antenna-expirementation-and.html' title='Wireless Antenna Experimentation and Review'/><author><name>Ernesto Ongaro</name><uri>http://www.blogger.com/profile/04102517836579717069</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_x3f21DSV4eo/S1S0CxlT8NI/AAAAAAAAAig/uAfxLombU1s/S220/DSC00867.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_x3f21DSV4eo/SIa78LSx7vI/AAAAAAAAACw/0dBd7hF-WZI/s72-c/img_0219.jpg' height='72' width='72'/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6021256169505852427.post-7621543691638335234</id><published>2008-05-07T23:02:00.002-07:00</published><updated>2008-07-23T12:06:31.717-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='moinmoin'/><category scheme='http://www.blogger.com/atom/ns#' term='wiki'/><title type='text'>Attachments in MoinMoin 1.6</title><content type='html'>Alternate Attachment Syntax in MoinMoin 1.6&lt;br /&gt;&lt;p&gt;As of &lt;a href="http://www.moinmo.in/"&gt;MoinMoin&lt;/a&gt; wiki version 1.6 (or so) attaching files to a page has changed the action that previous versions performed. When a file is attached with the format &lt;em&gt;{{attachment:foo.pdf}}&lt;/em&gt; the file is not available for direct download. Instead, the user is sent to an intermediate page where he/she can manage the attachments, including downloading it. Sometimes I prefer the old behavior, most notably when I want to make it easier for the reader. &lt;/p&gt;&lt;p&gt;&lt;br /&gt;The format to use is:&lt;/p&gt;&lt;p&gt;&lt;br /&gt;[[attachment:&lt;em&gt;foo.pdf&lt;/em&gt;|&lt;em&gt;description&lt;/em&gt;|&amp;amp;do=get]]&lt;/p&gt;&lt;p&gt;&lt;br /&gt;where foo.pdf is the file you want to upload and description is a short name for the file.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;Thanks to Tre56k in the MoinMoin IRC channel for this tip.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6021256169505852427-7621543691638335234?l=techpoet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techpoet.blogspot.com/feeds/7621543691638335234/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6021256169505852427&amp;postID=7621543691638335234' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6021256169505852427/posts/default/7621543691638335234'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6021256169505852427/posts/default/7621543691638335234'/><link rel='alternate' type='text/html' href='http://techpoet.blogspot.com/2008/05/alternate-attachment-download-in.html' title='Attachments in MoinMoin 1.6'/><author><name>Ernesto Ongaro</name><uri>http://www.blogger.com/profile/04102517836579717069</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_x3f21DSV4eo/S1S0CxlT8NI/AAAAAAAAAig/uAfxLombU1s/S220/DSC00867.jpg'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6021256169505852427.post-6322136250996932001</id><published>2008-05-07T22:37:00.006-07:00</published><updated>2008-05-07T22:50:23.862-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='telnet'/><category scheme='http://www.blogger.com/atom/ns#' term='pop3'/><category scheme='http://www.blogger.com/atom/ns#' term='email'/><title type='text'>POP3 Commands</title><content type='html'>&lt;h3 id="head-3410edf1e41c3d29fd0150a7a5ccdb9297ff499f"&gt;For use when troubleshooting email problems with telnet (or parsing email in your head) &lt;span class="anchor" id="line-80"&gt;&lt;/span&gt;&lt;span class="anchor" id="line-81"&gt;&lt;/span&gt;.&lt;/h3&gt;First you must telnet to the POP3 sever, in Windows or Linux, enter a terminal and type:&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;telnet [host [port]]&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Where &lt;span style="font-style: italic;"&gt;host &lt;/span&gt;is the POP3 server you want to connect to and &lt;span style="font-style: italic;"&gt;port&lt;/span&gt; is generally the standard POP3 port 110.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Minimal POP3 Commands: &lt;span class="anchor" id="line-82"&gt;&lt;/span&gt;&lt;span class="anchor" id="line-83"&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;USER name               valid in the AUTHORIZATION state &lt;span class="anchor" id="line-84"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;PASS string &lt;span class="anchor" id="line-85"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;QUIT &lt;span class="anchor" id="line-86"&gt;&lt;/span&gt;&lt;span class="anchor" id="line-87"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="gap"&gt;STAT                    valid in the TRANSACTION state &lt;span class="anchor" id="line-88"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;LIST [msg] &lt;span class="anchor" id="line-89"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;RETR msg &lt;span class="anchor" id="line-90"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;DELE msg &lt;span class="anchor" id="line-91"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;NOOP &lt;span class="anchor" id="line-92"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;RSET &lt;span class="anchor" id="line-93"&gt;&lt;/span&gt;&lt;span class="anchor" id="line-94"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="gap"&gt;QUIT                    valid in the UPDATE state &lt;span class="anchor" id="line-95"&gt;&lt;/span&gt;&lt;span class="anchor" id="line-96"&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li class="gap"&gt;Optional POP3 Commands: &lt;span class="anchor" id="line-97"&gt;&lt;/span&gt;&lt;span class="anchor" id="line-98"&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;APOP name digest        valid in the AUTHORIZATION state &lt;span class="anchor" id="line-99"&gt;&lt;/span&gt;&lt;span class="anchor" id="line-100"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class="gap"&gt;TOP msg n               valid in the TRANSACTION state &lt;span class="anchor" id="line-101"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;UIDL [msg] &lt;span class="anchor" id="line-102"&gt;&lt;/span&gt;&lt;span class="anchor" id="line-103"&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li class="gap"&gt;POP3 Replies: &lt;span class="anchor" id="line-104"&gt;&lt;/span&gt;&lt;span class="anchor" id="line-105"&gt;&lt;/span&gt;&lt;ul&gt;&lt;li&gt;+OK &lt;span class="anchor" id="line-106"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;-ERR &lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-size:85%;"&gt;This information gathered via various websites and this document: &lt;a href="ftp://ftp.isi.edu/in-notes/rfc1939.txt"&gt;ftp://ftp.isi.edu/in-notes/rfc1939.txt&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6021256169505852427-6322136250996932001?l=techpoet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://techpoet.blogspot.com/feeds/6322136250996932001/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6021256169505852427&amp;postID=6322136250996932001' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6021256169505852427/posts/default/6322136250996932001'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6021256169505852427/posts/default/6322136250996932001'/><link rel='alternate' type='text/html' href='http://techpoet.blogspot.com/2008/05/pop3-commands.html' title='POP3 Commands'/><author><name>Ernesto Ongaro</name><uri>http://www.blogger.com/profile/04102517836579717069</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://1.bp.blogspot.com/_x3f21DSV4eo/S1S0CxlT8NI/AAAAAAAAAig/uAfxLombU1s/S220/DSC00867.jpg'/></author><thr:total>0</thr:total></entry></feed>
