<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom"><title>cl0secall.net</title><link href="https://cl0secall.net/" rel="alternate"></link><link href="https://cl0secall.net/feeds/all.atom.xml" rel="self"></link><id>https://cl0secall.net/</id><updated>2023-09-29T10:50:00-05:00</updated><entry><title>Fixed file links</title><link href="https://cl0secall.net/2023/09/29/fixed-file-links/" rel="alternate"></link><published>2023-09-29T10:50:00-05:00</published><updated>2023-09-29T10:50:00-05:00</updated><author><name>cl0secall</name></author><id>tag:cl0secall.net,2023-09-29:/2023/09/29/fixed-file-links/</id><summary type="html">&lt;p&gt;I fixed links to files from the games pages. They were broken since who knows when.&lt;/p&gt;</summary><content type="html">&lt;p&gt;I fixed links to files from the games pages. They were broken since who knows
when. I discovered this when reviewing site activity.&lt;/p&gt;</content><category term="Site Updates"></category><category term="files"></category></entry><entry><title>Friendica Upgrades</title><link href="https://cl0secall.net/2021/11/01/friendica-upgrades/" rel="alternate"></link><published>2021-11-01T09:44:00-04:00</published><updated>2021-11-01T09:44:00-04:00</updated><author><name>cl0secall</name></author><id>tag:cl0secall.net,2021-11-01:/2021/11/01/friendica-upgrades/</id><summary type="html">&lt;p&gt;A story about how I upgraded friendica from 2020.09 to 2021.07&lt;/p&gt;</summary><content type="html">&lt;p&gt;I first installed friendica back in July of 2019 and had largely let it sit since
then. Here's how I upgraded from 2020.03 to 2021.07, and how I fixed the mess
I made.&lt;/p&gt;
&lt;p&gt;First, for those of you who might be in the midst of some half-cooked upgrade
like I was and are looking for the immediate fix, let me go into the short
version of what happened to my install and how I fixed it. Then I can expound
on what I learned.&lt;/p&gt;
&lt;h1&gt;Fixing a busted upgrade&lt;/h1&gt;
&lt;p&gt;I logged into friendica after a couple of month hiatus and found that my
profile page was utterly blank and I got all sorts of unsettling "not found"
type of errors. The user list in the admin panel was totally blank. I figured
I must have somehow lost a bunch of data. In a sense, I did. &lt;/p&gt;
&lt;p&gt;Here's how I fixed it:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Download the 2020.07 package and extract it to a staging directory, just as
I would for an upgrade. Copy the configs too&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Run some SQL queries to delete data from the tables that violated the
foreign key constraints that the DB upgrade was trying to apply. In my case I
had one record in the &lt;code&gt;item&lt;/code&gt; table and two in the &lt;code&gt;item-content&lt;/code&gt; table. I 
found the IDs with these queries:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="k"&gt;SELECT&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n n-Quoted"&gt;`item`&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n n-Quoted"&gt;`id`&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n n-Quoted"&gt;`item-uri`&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n n-Quoted"&gt;`uri`&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;FROM&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n n-Quoted"&gt;`item`&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;LEFT&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;JOIN&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n n-Quoted"&gt;`item-uri`&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;ON&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;
&lt;span class="n n-Quoted"&gt;`item`&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n n-Quoted"&gt;`uri-id`&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n n-Quoted"&gt;`item-uri`&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n n-Quoted"&gt;`id`&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;WHERE&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n n-Quoted"&gt;`item-uri`&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n n-Quoted"&gt;`uri`&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;IS&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="no"&gt;NULL&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;

&lt;span class="k"&gt;SELECT&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n n-Quoted"&gt;`item-content`&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n n-Quoted"&gt;`id`&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n n-Quoted"&gt;`item-uri`&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n n-Quoted"&gt;`uri`&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;FROM&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n n-Quoted"&gt;`item-content`&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;LEFT&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;JOIN&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;span class="n n-Quoted"&gt;`item-uri`&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;ON&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n n-Quoted"&gt;`item-content`&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n n-Quoted"&gt;`uri-id`&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n n-Quoted"&gt;`item-uri`&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n n-Quoted"&gt;`id`&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;WHERE&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n n-Quoted"&gt;`item-uri`&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n n-Quoted"&gt;`uri`&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;span class="k"&gt;IS&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="no"&gt;NULL&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Re-run the &lt;code&gt;php bin/console.php dbstructure upgrade -v&lt;/code&gt; to see that the
structure was fully upgraded with no errors. (The first run, I got past the
item table only to get hung up on the item-content table, etc etc. If you're
troubleshooting a similar scenario, it might be a different table entirely.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;Once I got a clean upgrade, then I ran the &lt;code&gt;php bin/console.php postupdate&lt;/code&gt;
task.&lt;/li&gt;
&lt;li&gt;Then I did another incremental upgrade to 2021.01. Fortunately I didn't
have to go through the same foreign key song &amp;amp; dance.&lt;/li&gt;
&lt;li&gt;Finally, I was able to re-run the &lt;code&gt;dbstructure upgrade&lt;/code&gt; from 2021.07, and
it went through. I then ran the &lt;code&gt;postupdate&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Then I turned my php-fpm back on and checked the version url
(&lt;code&gt;/friendica&lt;/code&gt;). Everything looked good. I logged in and everything seemed back
to normal.&lt;/li&gt;
&lt;li&gt;I immediately took another database backup.&lt;/li&gt;
&lt;li&gt;Then I turned the worker cron job back on.&lt;/li&gt;
&lt;/ul&gt;
&lt;h1&gt;The minute details&lt;/h1&gt;
&lt;p&gt;So after this long hiatus of not using friendica, in July or early August I
decided to start posting again and maybe get some use out of the platform. I
opted to upgrade since I knew it had been some time since I had upgraded and
there were probably substantial changes. These days it seems the nature of
software that it evolves constantly and backward compatibility isn't what it
used to be.&lt;/p&gt;
&lt;p&gt;At any rate, I ran through the upgrade process without being too diligent,
which is what got me into this mess. Here is an outline of the upgrade
process:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Unpack the latest release distribution (e.g. 
friendica-full-2021.07.tar.gz) into a new direcotory&lt;/li&gt;
&lt;li&gt;Unpack the corresponding addon distribution into this new directory&lt;/li&gt;
&lt;li&gt;Copy the &lt;code&gt;config/local.config.php&lt;/code&gt;, &lt;code&gt;config/addon.config.php&lt;/code&gt; (if it
exists), and the &lt;code&gt;.htaccess&lt;/code&gt; files from the current site directory to the new
directory&lt;/li&gt;
&lt;li&gt;Double check the path entry in &lt;code&gt;config/local.config.php&lt;/code&gt; to make sure it
references this new staging directory and is not hard-coded to the last
release.&lt;/li&gt;
&lt;li&gt;Stop the worker cron and the php-fpm that's running the current site&lt;/li&gt;
&lt;li&gt;Back up the database (very important!)&lt;/li&gt;
&lt;li&gt;Run &lt;code&gt;php bin/console.php dbstructure upgrade -v&lt;/code&gt; from the staging directory&lt;/li&gt;
&lt;li&gt;Run &lt;code&gt;php bin/console.php postupdate&lt;/code&gt; from the staging directory&lt;/li&gt;
&lt;li&gt;Change the symlink for the document root to point to the new staging directory.&lt;/li&gt;
&lt;li&gt;Start up the php-fpm and check the versions listed at
https://mynode/friendica&lt;/li&gt;
&lt;li&gt;You're done!&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Well, at least that's what I thought when I ran the upgrade. It turns out that
the database upgrade didn't complete successfully. If you don't check the
&lt;code&gt;/friendica&lt;/code&gt; url on your node, you might not know this. I sure didn't. I also
didn't know that URL even existed. You also might not know to turn on debug
logging in the admin section. This creates a &lt;code&gt;log/friendica.log&lt;/code&gt; in your 
document root. If it doesn't, make sure &lt;code&gt;log&lt;/code&gt; exists and is owned by the 
webserver or (heaven help you) is chmod'd 777.&lt;/p&gt;
&lt;p&gt;So I finally figure out that I can turn on debug logging and I check this
&lt;code&gt;/friendica&lt;/code&gt; url, and it tells me the database is at version 1358/1425 or
something. That's not good. After doing a bunch of flailing around I
eventually restore from a backup of the database from post-update but before I
panicked and started retrying the update process over again. That got me to
these errors in the friendica log:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="mi"&gt;2021&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;27T16&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;26&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="n"&gt;06Z&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;console&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;[&lt;/span&gt;&lt;span class="k"&gt;ERROR&lt;/span&gt;&lt;span class="err"&gt;]&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;DB&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;Error&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;span class="err"&gt;{&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;code&amp;quot;&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;1452&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;error&amp;quot;&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;Cannot add or update a child row: a foreign key&lt;/span&gt;
&lt;span class="s2"&gt;constraint fails (`friendica_prod`.`#sql-alter-f6af-147d2c`, CONSTRAINT&lt;/span&gt;
&lt;span class="s2"&gt;`#sql-alter-f6af-147d2c_ibfk_1` FOREIGN KEY (`uri-id`) REFERENCES `item-uri`&lt;/span&gt;
&lt;span class="s2"&gt;(`id`) ON DELETE CASCADE)&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;...&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;This corresponded with a reference I found when desperately trying to piece
together some coherent search terms for the issue I was facing. I came up with
these issues from the friendica github:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/friendica/friendica/issues/10519"&gt;https://github.com/friendica/friendica/issues/10519&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/friendica/friendica/issues/10375"&gt;https://github.com/friendica/friendica/issues/10375&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/friendica/friendica/issues/9753"&gt;https://github.com/friendica/friendica/issues/9753&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/friendica/friendica/issues/9878"&gt;https://github.com/friendica/friendica/issues/9878&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/friendica/friendica/issues/10180"&gt;https://github.com/friendica/friendica/issues/10180&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I gathered a couple of useful tidbits (and the solution) from these threads:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Don't ever run &lt;code&gt;dbstructure update&lt;/code&gt; with the &lt;code&gt;-f&lt;/code&gt; flag, unless you have a
very specific use case (for instance you have manually tweaked the DB schema)&lt;/li&gt;
&lt;li&gt;It's a common enough scenario to have data inconsistencies and "dangling
references" that manually deleting unreferenced data could be necessary.&lt;/li&gt;
&lt;li&gt;It's not always the same data or even the same data type that needs to be
cleaned out.&lt;/li&gt;
&lt;li&gt;You might need to delete some tables and let the migration reconstruct
them.&lt;/li&gt;
&lt;li&gt;No, seriously. Never use &lt;code&gt;-f&lt;/code&gt; with &lt;code&gt;dbstructure upgrade&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;There's this handy-dandy &lt;code&gt;/friendica&lt;/code&gt; url on every node that shows the
database version and what rev the database thinks it is. You can use this for
troubleshooting.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ultimately, the synthesis of all of this information led to the solution that
I wrote up above. Iteratively upgrade each increment, watching the logs and
validating each upgrade in succession. I've had to do this before when I
upgraded my owncloud instance from something like 3.0 up to 10.x. There were
some really dicey upgrades back in there where the DB schema had to be
manually tweaked in order to complete the upgrade. Fortunately things have
gotten easier.&lt;/p&gt;
&lt;p&gt;That's enough of this for now.&lt;/p&gt;</content><category term="Uncategorized"></category><category term="friendica"></category></entry><entry><title>Switching to Pelican</title><link href="https://cl0secall.net/2021/10/26/switching-to-pelican/" rel="alternate"></link><published>2021-10-26T15:52:00-04:00</published><updated>2021-10-26T15:52:00-04:00</updated><author><name>cl0secall</name></author><id>tag:cl0secall.net,2021-10-26:/2021/10/26/switching-to-pelican/</id><summary type="html">&lt;p&gt;I've finally gotten around to evaluating options and the work involved and made a decision to switch to the Pelican content engine. Pelican has a nice enough importer from WordPress that I was able to import my old content without too much trouble, including the static pages which puput happily …&lt;/p&gt;</summary><content type="html">&lt;p&gt;I've finally gotten around to evaluating options and the work involved and made a decision to switch to the Pelican content engine. Pelican has a nice enough importer from WordPress that I was able to import my old content without too much trouble, including the static pages which puput happily trashed on me. I will continue to work out the kinks as I go forward and I'm excited about the relatively straightforwardness of a static site builder since there is a really low turnover on content here.&lt;/p&gt;</content><category term="Uncategorized"></category></entry><entry><title>Abandoning Puput</title><link href="https://cl0secall.net/2019/10/23/abandoning-puput/" rel="alternate"></link><published>2019-10-23T17:30:00-04:00</published><updated>2019-10-23T17:30:00-04:00</updated><author><name>cl0secall</name></author><id>tag:cl0secall.net,2019-10-23:/2019/10/23/abandoning-puput/</id><content type="html">&lt;p&gt;Turns out Puput can't do what I want, which is to replace the basic functions of WordPress. So it's back to the drawing board.&lt;/p&gt;</content><category term="Uncategorized"></category></entry><entry><title>Site Work Continues</title><link href="https://cl0secall.net/2019/06/16/site-work-continues/" rel="alternate"></link><published>2019-06-16T17:56:00-04:00</published><updated>2019-06-16T17:56:00-04:00</updated><author><name>cl0secall</name></author><id>tag:cl0secall.net,2019-06-16:/2019/06/16/site-work-continues/</id><summary type="html">&lt;p&gt;I've got some further plans for the site. I've explored adding comments but the Puput engine only supports disqus at the moment. Right now the plan is to implement a disqus clone that is self-hosted that I can use across all of my sites. More to come on that as …&lt;/p&gt;</summary><content type="html">&lt;p&gt;I've got some further plans for the site. I've explored adding comments but the Puput engine only supports disqus at the moment. Right now the plan is to implement a disqus clone that is self-hosted that I can use across all of my sites. More to come on that as time permits. Another struggle that I am having is with getting a unified place to have both static pages and posts like WordPress did. All of the documentation and discussions I can find suggest having to split out the content under different sub-URLs within the site, which would break lots of URLs for me. Once I have a plan to deal with that I want to finish importing content from the old WordPress instance.&lt;/p&gt;</content><category term="Uncategorized"></category></entry><entry><title>New blogging engine</title><link href="https://cl0secall.net/2019/05/16/new-blogging-engine/" rel="alternate"></link><published>2019-05-16T02:10:00-04:00</published><updated>2019-05-16T02:10:00-04:00</updated><author><name>cl0secall</name></author><id>tag:cl0secall.net,2019-05-16:/2019/05/16/new-blogging-engine/</id><content type="html">&lt;p&gt;I finally put up the new content engine. I'm still working out some of the kinks, and it may take a couple tries at the database import from WordPress before I'm happy.&lt;/p&gt;</content><category term="Uncategorized"></category></entry><entry><title>Building py-cryptography on OpenBSD 6.3 (libressl 2.7.x)</title><link href="https://cl0secall.net/2018/07/03/building-py-cryptography/" rel="alternate"></link><published>2018-07-03T13:50:00-04:00</published><updated>2018-07-03T13:50:00-04:00</updated><author><name>cl0secall</name></author><id>tag:cl0secall.net,2018-07-03:/2018/07/03/building-py-cryptography/</id><summary type="html">&lt;p&gt;Was trying to upgrade NetBox and the upgrade script bailed while installing cryptography. I've had issues with the cryptography package in the past, since they use some obscure compiler flags that are only available on newer compilers. Once OpenBSD switched to clang/llvm as the default compiler I thought I'd …&lt;/p&gt;</summary><content type="html">&lt;p&gt;Was trying to upgrade NetBox and the upgrade script bailed while installing cryptography. I've had issues with the cryptography package in the past, since they use some obscure compiler flags that are only available on newer compilers. Once OpenBSD switched to clang/llvm as the default compiler I thought I'd be out of the woods, but it seems that the cryptography module only targets OpenSSL for compatibility, not LibreSSL. There's some patching currently in the works but as of version 2.2.2 of the package I had to use a workaround: install OpenSSL.&lt;/p&gt;
&lt;p&gt;The nitty-gritty:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Install OpenSSL&lt;/li&gt;
&lt;li&gt;Set CFLAGS and LDFLAGS to point to the OpenSSL that I installed&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;$ pkg_add -i openssl  
...  
$ &lt;span class="nb"&gt;export&lt;/span&gt; &lt;span class="nv"&gt;CFLAGS&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;-I/usr/local/include/eopenssl  
$ &lt;span class="nb"&gt;export&lt;/span&gt; &lt;span class="nv"&gt;LDFLAGS&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;-L/usr/local/lib/eopenssl -lssl -lcrypto  
$ pip install -U cryptography  
...
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Good luck.&lt;/p&gt;</content><category term="Uncategorized"></category></entry><entry><title>Nagios on OpenBSD: Web UI Timezone</title><link href="https://cl0secall.net/2018/02/02/nagios-on-openbsd-web-ui-timezone/" rel="alternate"></link><published>2018-02-02T15:51:00-05:00</published><updated>2018-02-02T15:51:00-05:00</updated><author><name>cl0secall</name></author><id>tag:cl0secall.net,2018-02-02:/2018/02/02/nagios-on-openbsd-web-ui-timezone/</id><summary type="html">&lt;p&gt;Everywhere on the internet you'll see a reference to setting the TZ environment variable in your Apache config. Except I'm using OpenBSD HTTPD, not Apache HTTPD. Furthermore, I'm using slowcgi to run the CGI scripts. Well it turns out the solution is pretty simple. Copy the zoneinfo files into httpd's …&lt;/p&gt;</summary><content type="html">&lt;p&gt;Everywhere on the internet you'll see a reference to setting the TZ environment variable in your Apache config. Except I'm using OpenBSD HTTPD, not Apache HTTPD. Furthermore, I'm using slowcgi to run the CGI scripts. Well it turns out the solution is pretty simple. Copy the zoneinfo files into httpd's chroot directory:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;# cd /&lt;br&gt;
# tar -cf - /usr/share/zoneinfo /etc/localtime | (cd /var/www; tar -xf -)&lt;br&gt;
tar: Removing leading / from absolute path names in the archive&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Then at most you restart the services and the UI should have the correct timezone.&lt;/p&gt;</content><category term="Projects"></category><category term="nagios"></category></entry><entry><title>Broken file links</title><link href="https://cl0secall.net/2018/01/22/file-links-are-broken/" rel="alternate"></link><published>2018-01-22T21:15:00-05:00</published><updated>2018-01-22T21:15:00-05:00</updated><author><name>cl0secall</name></author><id>tag:cl0secall.net,2018-01-22:/2018/01/22/file-links-are-broken/</id><summary type="html">&lt;p&gt;Note: &lt;em&gt;This article has been edited several times as the issue developed.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;A while back the web server that hosted this site was moved around a bit. When that happened, all of the file links became broken. I've just this evening copied the files over from a backup and fixed …&lt;/p&gt;</summary><content type="html">&lt;p&gt;Note: &lt;em&gt;This article has been edited several times as the issue developed.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;A while back the web server that hosted this site was moved around a bit. When that happened, all of the file links became broken. I've just this evening copied the files over from a backup and fixed the links. All file links should work again. Yay!&lt;/p&gt;</content><category term="Uncategorized"></category></entry><entry><title>Shooting Ranges in NoVa</title><link href="https://cl0secall.net/2017/12/12/shooting-ranges-in-nova/" rel="alternate"></link><published>2017-12-12T13:22:00-05:00</published><updated>2017-12-12T13:22:00-05:00</updated><author><name>cl0secall</name></author><id>tag:cl0secall.net,2017-12-12:/2017/12/12/shooting-ranges-in-nova/</id><summary type="html">&lt;p&gt;A list of shooting ranges and public hours, with references. In no particular&lt;br&gt;
order.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Silver Eagle Group&lt;/li&gt;
&lt;li&gt;NRA HQ Range&lt;/li&gt;
&lt;li&gt;Elite Shooting Sports&lt;/li&gt;
&lt;li&gt;Clark Brothers&lt;/li&gt;
&lt;li&gt;Blue Ridge Arsenal&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Silver Eagle Group&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;http://silvereaglegroup.com/range-use/&lt;/li&gt;
&lt;li&gt;Public Hours Wed-Sun&lt;ul&gt;
&lt;li&gt;Wed 1400-2000&lt;/li&gt;
&lt;li&gt;Thu,Fri 1100-2000&lt;/li&gt;
&lt;li&gt;Sat 0900-1900&lt;/li&gt;
&lt;li&gt;Sun 0900-1700&lt;/li&gt;
&lt;li&gt;Separate hours for …&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;</summary><content type="html">&lt;p&gt;A list of shooting ranges and public hours, with references. In no particular&lt;br&gt;
order.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Silver Eagle Group&lt;/li&gt;
&lt;li&gt;NRA HQ Range&lt;/li&gt;
&lt;li&gt;Elite Shooting Sports&lt;/li&gt;
&lt;li&gt;Clark Brothers&lt;/li&gt;
&lt;li&gt;Blue Ridge Arsenal&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Silver Eagle Group&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;http://silvereaglegroup.com/range-use/&lt;/li&gt;
&lt;li&gt;Public Hours Wed-Sun&lt;ul&gt;
&lt;li&gt;Wed 1400-2000&lt;/li&gt;
&lt;li&gt;Thu,Fri 1100-2000&lt;/li&gt;
&lt;li&gt;Sat 0900-1900&lt;/li&gt;
&lt;li&gt;Sun 0900-1700&lt;/li&gt;
&lt;li&gt;Separate hours for 50yd range&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Silver Eagle Group&lt;/strong&gt;&lt;br&gt;
44620 Guilford Drive, Suite 100&lt;br&gt;
Ashburn, Virginia 20147&lt;br&gt;
Phone: (703)723-5173&lt;br&gt;
Fax: (703)723-4979&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Cost is \$25 for first shooter. Checking in at different times is not advised.&lt;br&gt;
Paying separate is not advised. Max cal. 50BMG&lt;/p&gt;
&lt;h2&gt;NRQ HQ Range&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;https://nrahqrange.nra.org/&lt;/li&gt;
&lt;li&gt;Max cal. .460 weatherby mag / .500S&amp;amp;W&lt;/li&gt;
&lt;li&gt;No steel core or black powder. Slugs only for shotguns.&lt;/li&gt;
&lt;li&gt;No full auto during public hours.&lt;/li&gt;
&lt;li&gt;Public Hours 6 days: closed Tuesday&lt;ul&gt;
&lt;li&gt;Mon 0800-1800&lt;/li&gt;
&lt;li&gt;Wed,Thu 1000-2200&lt;/li&gt;
&lt;li&gt;Fri 0800-2300&lt;/li&gt;
&lt;li&gt;Sat 0830-2300&lt;/li&gt;
&lt;li&gt;Sun 0830-1900&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;\$20/\$15 for first shooter, \$15/\$10 for second shooter.&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;NRA Range&lt;/strong&gt;&lt;br&gt;
11250 Waples Mill Rd&lt;br&gt;
Fairfax, VA 22030&lt;br&gt;
703-267-1402&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2&gt;Elite Shooting Sports&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;http://www.eliteshootingsports.com/default.aspx&lt;/li&gt;
&lt;li&gt;Public Hours: 0900-2100 daily&lt;/li&gt;
&lt;li&gt;No Steel-core or armor-piercing ammo&lt;/li&gt;
&lt;li&gt;Use only 1 firearm at a time. Case all others.&lt;/li&gt;
&lt;li&gt;Tabled firearms must be unloaded and action open.&lt;/li&gt;
&lt;li&gt;Shotguns may use slugs or 00-buck&lt;/li&gt;
&lt;li&gt;Full auto restricted&lt;/li&gt;
&lt;li&gt;No muzzle-loaders or black powder&lt;/li&gt;
&lt;li&gt;Some ranges may be closed to the public 0900-1400 M-F&lt;/li&gt;
&lt;li&gt;\$20/hour + \$10/hr additional person on one lane&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Elite Shooting Sports&lt;/strong&gt;&lt;br&gt;
7751 Doane Drive&lt;br&gt;
Manassas, VA 20109&lt;br&gt;
703-335-2750&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2&gt;Clark Brothers&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;http://clarkbrosguns.com/&lt;/li&gt;
&lt;li&gt;Public hours 0900-1700 daily&lt;/li&gt;
&lt;li&gt;Use only ammo and targets purchased at Clark Bros. or \$25/hour charge&lt;/li&gt;
&lt;li&gt;Has 2 clay thrower lanes&lt;/li&gt;
&lt;li&gt;May have other undocumented restrictions&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Blue Ridge Arsenal&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;http://www.blueridgearsenal.com/&lt;/li&gt;
&lt;li&gt;Public hours:&lt;ul&gt;
&lt;li&gt;Mon - Fri 0900-2000&lt;/li&gt;
&lt;li&gt;Sat 1000-1900&lt;/li&gt;
&lt;li&gt;Sun 1000-1700&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;No tracers or metal piercing ammunition&lt;/li&gt;
&lt;li&gt;No black powder firearms&lt;/li&gt;
&lt;li&gt;No one under 21 on the firing line without an "adult" with them&lt;/li&gt;
&lt;li&gt;Additional ammo restrictions per "side" of the range.&lt;/li&gt;
&lt;li&gt;No airguns except those that fire lead pellets&lt;/li&gt;
&lt;li&gt;Max 4 persons per lane&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Blue Ridge Arsenal&lt;br&gt;
&lt;/strong&gt;&lt;em&gt;14725-K Flint Lee Rd&lt;br&gt;
Chantilly, Virginia  20151&lt;br&gt;
703-818-0230&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;</content><category term="Uncategorized"></category></entry><entry><title>HTTPS Support</title><link href="https://cl0secall.net/2017/04/25/https-support/" rel="alternate"></link><published>2017-04-25T14:02:00-04:00</published><updated>2017-04-25T14:02:00-04:00</updated><author><name>cl0secall</name></author><id>tag:cl0secall.net,2017-04-25:/2017/04/25/https-support/</id><content type="html">&lt;p&gt;It took quite a bit of trouble but I've added HTTPS support to this site. As an aside, most of my work has been on infrastructure projects and preparing to move to a new content platform. I'll discuss that separately when I am closer to making it happen.&lt;/p&gt;</content><category term="Projects"></category></entry><entry><title>ArmA3: Linux Dedicated Server</title><link href="https://cl0secall.net/2014/03/09/arma3-linux-dedicated-server/" rel="alternate"></link><published>2014-03-09T21:17:00-04:00</published><updated>2014-03-09T21:17:00-04:00</updated><author><name>cl0secall</name></author><id>tag:cl0secall.net,2014-03-09:/2014/03/09/arma3-linux-dedicated-server/</id><summary type="html">&lt;p&gt;Where to begin. How about I try to keep the back story brief this time?&lt;/p&gt;
&lt;p&gt;So far I have tried running the ArmA 3 linux dedicated server on:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Debian 7 VM running on a Sun Fire x4140 server&lt;/li&gt;
&lt;li&gt;Ubuntu 12.04 Server VM running on a Sun Fire x4140 server …&lt;/li&gt;&lt;/ul&gt;</summary><content type="html">&lt;p&gt;Where to begin. How about I try to keep the back story brief this time?&lt;/p&gt;
&lt;p&gt;So far I have tried running the ArmA 3 linux dedicated server on:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Debian 7 VM running on a Sun Fire x4140 server&lt;/li&gt;
&lt;li&gt;Ubuntu 12.04 Server VM running on a Sun Fire x4140 server&lt;/li&gt;
&lt;li&gt;Ubuntu 12.04 Server on a PowerEdge 2850&lt;/li&gt;
&lt;li&gt;Ubuntu 12.04 Server on a custom gaming PC: Gigabyte MA790XT-UD4P / Phenom II X4 965 black&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;None of these have panned out. The first three were abysmal in terms of performance. 10+ minutes - 1+ hour start up time, AI that lags literally seconds behind the player. Generally, these servers would start up and have a rating of 10-15 FPS on the server. On the last system, the map loads very fast -- less than a minute. But depending on the scenario the game is unplayable. If playing Domination GITS edit, it's playable and the server floats around 20+ - 30+ FPS. If playing Insurgency ALiVE, the server pegs at 2FPS and the AI lags seconds behind the players. I don't know what to make of this. It's unlike any other experience I've had with ArmA dedicated servers. Previously, they all "just worked" no matter how shitty my server hardware was. Now it seems even relatively recent vintage hardware is not enough.&lt;/p&gt;
&lt;p&gt;The time investment of trying to get this far alone has drained most of my motivation to keep tinkering. I'm hoping that by documenting this I can save myself some trouble in the future if I decide to have a second look.&lt;/p&gt;</content><category term="Games"></category><category term="ArmA"></category></entry><entry><title>Pidgin: Adding a Trusted Root CA Certificate</title><link href="https://cl0secall.net/2013/10/02/pidgin-adding-a-trusted-root-ca-certificate/" rel="alternate"></link><published>2013-10-02T15:09:00-04:00</published><updated>2013-10-02T15:09:00-04:00</updated><author><name>cl0secall</name></author><id>tag:cl0secall.net,2013-10-02:/2013/10/02/pidgin-adding-a-trusted-root-ca-certificate/</id><summary type="html">&lt;p&gt;I've struggled with this for a few days. The cl0secall.net CA was not trusted by Pidgin, and I'd get certificate warnings wherever I connected from. There is no mention of this in the &lt;a href="http://developer.pidgin.im/wiki/FAQ"&gt;Pidgin FAQ&lt;/a&gt;, and various web searches turned up clues but no solutions. Through a combination of …&lt;/p&gt;</summary><content type="html">&lt;p&gt;I've struggled with this for a few days. The cl0secall.net CA was not trusted by Pidgin, and I'd get certificate warnings wherever I connected from. There is no mention of this in the &lt;a href="http://developer.pidgin.im/wiki/FAQ"&gt;Pidgin FAQ&lt;/a&gt;, and various web searches turned up clues but no solutions. Through a combination of the &lt;a href="http://developer.pidgin.im/wiki/TipsForBugReports#ObtainingaDebugLog"&gt;Pidgin Debug Window&lt;/a&gt; and browsing the libpurple source code, I found the answer.&lt;/p&gt;
&lt;p&gt;As an aside, it took quite some effort to locate the &lt;a href="http://hg.pidgin.im/pidgin/main/"&gt;Pidgin source code&lt;/a&gt;. The Debug Window was one of the clues from my searching. The link to the Pidgin source repo was on the Download page. Because I was not interested in downloading anything -- merely browsing -- this was counter-intuitive to me.&lt;/p&gt;
&lt;p&gt;The solution is to create a directory named "ca-certs" in the ".purple/certificates/x509" directory. This directory is located in "\$HOME" on unix platforms, and in "%APPDATA%" on windows. Inside that directory, place a file containing the PEM-encoded CA certificate. I used the name "cl0secall.net" for my cl0secall.net CA certificate. Upon restarting Pidgin my XMPP account connected with no warnings. In the debug window, I saw that the certificate was validated and cached successfully.&lt;/p&gt;</content><category term="Uncategorized"></category><category term="ca"></category><category term="pidgin"></category></entry><entry><title>Firefox Private Browsing &amp; Window Raising</title><link href="https://cl0secall.net/2013/09/30/firefox-private-browsing-window-raising/" rel="alternate"></link><published>2013-09-30T09:01:00-04:00</published><updated>2013-09-30T09:01:00-04:00</updated><author><name>cl0secall</name></author><id>tag:cl0secall.net,2013-09-30:/2013/09/30/firefox-private-browsing-window-raising/</id><summary type="html">&lt;p&gt;I've noticed several quirks when using Firefox. This is one of the more recent and annoying ones.&lt;/p&gt;
&lt;p&gt;I first noticed it on windows, when there is more than one window open. In my case this means one "normal" window and one private browsing window. What will happen is that I'll …&lt;/p&gt;</summary><content type="html">&lt;p&gt;I've noticed several quirks when using Firefox. This is one of the more recent and annoying ones.&lt;/p&gt;
&lt;p&gt;I first noticed it on windows, when there is more than one window open. In my case this means one "normal" window and one private browsing window. What will happen is that I'll load a particular site and at some point during the process of the page load the other window will get raised to the foreground. It is as if there's a "window.focus()" javascript call in the page that I'm loading but it's raising the &lt;em&gt;other&lt;/em&gt; window instead of the active window. So far it's been impossible to figure out what precisely is happening so I can stop it. Instead I periodically have to minimize my other Firefox window.&lt;/p&gt;</content><category term="Uncategorized"></category><category term="annoyances"></category><category term="firefox"></category></entry><entry><title>Freddy's Frozen Custard &amp; Steakburgers</title><link href="https://cl0secall.net/2013/09/23/freddys-frozen-custard-steakburgers/" rel="alternate"></link><published>2013-09-23T19:27:00-04:00</published><updated>2013-09-23T19:27:00-04:00</updated><author><name>cl0secall</name></author><id>tag:cl0secall.net,2013-09-23:/2013/09/23/freddys-frozen-custard-steakburgers/</id><summary type="html">&lt;p&gt;I saw this place driving through Fairfax a couple of months ago. Having already been to SmashBurger I was familiar with the concept of a Steakburger. I checked out some reviews on Yelp. I could (and probably will at some point) write a whole separate article about that. This particular …&lt;/p&gt;</summary><content type="html">&lt;p&gt;I saw this place driving through Fairfax a couple of months ago. Having already been to SmashBurger I was familiar with the concept of a Steakburger. I checked out some reviews on Yelp. I could (and probably will at some point) write a whole separate article about that. This particular Freddy's fetches only 3 stars from the local yelpers. At the same time, many of the worst reviews seemed either petty or clueless (e.g. "It's not Five Guys, so they suck..."). Nonetheless I figured that there had to be at least a grain of truth to the group consensus. I was wrong.&lt;/p&gt;
&lt;p&gt;My initial impression... well, the place was clean. The appearance was Five Guys-esque. There was a lot of red &amp;amp; white. It was somewhat retro 50's diner. The menu was reasonably well laid out. I studied it for a good few minutes before deciding on a #7, the "Bacon &amp;amp; Cheese Double Steakburger". I subbed onion rings for the fries, since I'm not much for shoestrings. The drink selection was typical for a fast-food joint with the addition of iced tea. I opted for a soda so I couldn't tell you if the iced tea was any good. The order only took a minute or two to come out. Not surprising given the workload. The staff were pleasant, on par with any of the classier establishments. The burger was good. I'd say typical for the type of burger. I liked how the cheese melted into the burger patties. The onion rings were good too. Overall, I'd say I got the quality of a lower-end sit down restaurant for less than ten bucks, which is not bad for fast food these days.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;Bottom line:&lt;/em&gt; Better than Wendy's; on-par with SmashBurger, with a bit less class; Not as good as The Counter.&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Freddy's website:&lt;/em&gt; &lt;a href="http://www.freddysusa.com/"&gt;http://www.freddysusa.com/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Freddy's in Fairfax:&lt;/em&gt; &lt;a href="http://www.freddysusa.com/locations/?distance=5&amp;amp;address=22030"&gt;10030 Fairfax Blvd, Fairfax, VA  22030&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</content><category term="Food"></category></entry><entry><title>Exciting Times</title><link href="https://cl0secall.net/2013/09/13/exciting-times/" rel="alternate"></link><published>2013-09-13T14:11:00-04:00</published><updated>2013-09-13T14:11:00-04:00</updated><author><name>cl0secall</name></author><id>tag:cl0secall.net,2013-09-13:/2013/09/13/exciting-times/</id><summary type="html">&lt;p&gt;We live in exciting times. Myself especially. I've been working recently on a number of projects. I'd like to post a good summary of everything, but I hesitate to since I'd also like to deprecate this blog engine. So I'll write some stream-of-consciousness type babble and then move on with …&lt;/p&gt;</summary><content type="html">&lt;p&gt;We live in exciting times. Myself especially. I've been working recently on a number of projects. I'd like to post a good summary of everything, but I hesitate to since I'd also like to deprecate this blog engine. So I'll write some stream-of-consciousness type babble and then move on with my life.&lt;/p&gt;
&lt;p&gt;WordPress is on my bad side. It seems to be under active development, and they have gone full nagware on me. That is to say, that every time I log in to the admin panel, there is a banner stating there's a new version. I had to go so far as to write up an instruction guide as to how to do the upgrades since I could never remember and I needed to do them so frequently. Also, Matt Mullenweg's concept of how the GPL works and how it interacts with commerce doesn't sit well with me and therefore I don't want to inflate the usage statistics of his software. Instead I'll probably develop my own blog engine, using some BSD-licensed framework that I can develop to my own taste. Then no one needs to hear about my eccentric ideas.&lt;/p&gt;
&lt;p&gt;My Kerberos/LDAP Auth project was a failure. Not a complete failure, but enough of a debacle that I gave up on it. It turns out that Windows 7 is broken in some way that I have not been able to remedy, specifically in how it requests/retrieves/generates Kerberos tickets for samba share access. I've set it to use only the arcfour cipher, but it still requests aes256 cipher. Then it kills its samba connection and spits out an authentication error. There are no logs or events. I plan to replace this setup with a Samba4 AD PDC, at some point when I fix my application hosting platform.&lt;/p&gt;
&lt;p&gt;My virtualization initiatives have been a wash. The hypervisor hardware I have is all garbage and I have zero budget for new hardware. There is some progress on the Virago, in that I've taken it apart and got the original stator out. I haven't put the new one in yet. Work on the '88 Corvette Transmission overhaul has been slow going. I keep needing specialty tools that I don't have.&lt;/p&gt;
&lt;p&gt;Owncloud has some promise but I am unhappy with the software. It is far too fragile to update without risking data. I really don't like that. It seems to stem from a lack of a decent database library and perhaps no reliable ORM layer. I don't know enough about the internals to tell. I just know that I had to brute-force the upgrade from 4.0.7 to 5.0.10.&lt;/p&gt;</content><category term="Projects"></category></entry><entry><title>Battlefield 3: Black Screen of Death fixed</title><link href="https://cl0secall.net/2011/12/03/battlefield-3-black-screen-of-death-fixed/" rel="alternate"></link><published>2011-12-03T14:00:00-05:00</published><updated>2011-12-03T14:00:00-05:00</updated><author><name>cl0secall</name></author><id>tag:cl0secall.net,2011-12-03:/2011/12/03/battlefield-3-black-screen-of-death-fixed/</id><summary type="html">&lt;p&gt;In a &lt;a href="http://cl0secall.net/post/383" title="Battlefield 3: Post Patch Woes, Part 2"&gt;previous post&lt;/a&gt;, I explained that while I was able to correct one major problem with BF3 after the 11-22 patch, I was now seeing a separate, more insidious issue where the game would lock up in between maps. I believe I've now fixed this as well by running …&lt;/p&gt;</summary><content type="html">&lt;p&gt;In a &lt;a href="http://cl0secall.net/post/383" title="Battlefield 3: Post Patch Woes, Part 2"&gt;previous post&lt;/a&gt;, I explained that while I was able to correct one major problem with BF3 after the 11-22 patch, I was now seeing a separate, more insidious issue where the game would lock up in between maps. I believe I've now fixed this as well by running PBSETUP and updating the game's PunkBuster files manually.&lt;/p&gt;</content><category term="Games"></category><category term="Battlefield 3"></category></entry><entry><title>Battlefield 3: Post Patch Woes, Part 2</title><link href="https://cl0secall.net/2011/11/29/battlefield-3-post-patch-woes-part-2/" rel="alternate"></link><published>2011-11-29T19:10:00-05:00</published><updated>2011-11-29T19:10:00-05:00</updated><author><name>cl0secall</name></author><id>tag:cl0secall.net,2011-11-29:/2011/11/29/battlefield-3-post-patch-woes-part-2/</id><summary type="html">&lt;p&gt;I was able to partially resolve my Battlefield 3 issues (as posted &lt;a href="http://cl0secall.net/post/373" title="Battlefield 3: Post Patch Woes"&gt;here&lt;/a&gt;) by running a "repair" operation on the game from the Origin client. Numerous rounds of Windows Updates and driver updates didn't help at all. Now the game seems to crash on map changes under certain circumstances, but …&lt;/p&gt;</summary><content type="html">&lt;p&gt;I was able to partially resolve my Battlefield 3 issues (as posted &lt;a href="http://cl0secall.net/post/373" title="Battlefield 3: Post Patch Woes"&gt;here&lt;/a&gt;) by running a "repair" operation on the game from the Origin client. Numerous rounds of Windows Updates and driver updates didn't help at all. Now the game seems to crash on map changes under certain circumstances, but I haven't been able to isolate the problem yet.&lt;/p&gt;</content><category term="Games"></category><category term="Battlefield 3"></category></entry><entry><title>A Different Kind of Linkrot</title><link href="https://cl0secall.net/2011/11/29/a-different-kind-of-linkrot/" rel="alternate"></link><published>2011-11-29T18:37:00-05:00</published><updated>2011-11-29T18:37:00-05:00</updated><author><name>cl0secall</name></author><id>tag:cl0secall.net,2011-11-29:/2011/11/29/a-different-kind-of-linkrot/</id><summary type="html">&lt;p&gt;I've increasingly noticed that searching the web for answers to various technical questions gets me a lot of dead-ends or infinite loops. For example, when searching recently for information on libnss-ldap and libnss-compat, I found this forum thread: &lt;a href="http://www.linuxforums.org/forum/miscellaneous/172807-name-service-switch-file-nsswitch-conf-what-compat.html"&gt;http://www.linuxforums.org/forum/miscellaneous/172807-name-service-switch-file-nsswitch-conf-what-compat.html&lt;/a&gt;. It conveniently doesn't answer …&lt;/p&gt;</summary><content type="html">&lt;p&gt;I've increasingly noticed that searching the web for answers to various technical questions gets me a lot of dead-ends or infinite loops. For example, when searching recently for information on libnss-ldap and libnss-compat, I found this forum thread: &lt;a href="http://www.linuxforums.org/forum/miscellaneous/172807-name-service-switch-file-nsswitch-conf-what-compat.html"&gt;http://www.linuxforums.org/forum/miscellaneous/172807-name-service-switch-file-nsswitch-conf-what-compat.html&lt;/a&gt;. It conveniently doesn't answer the question -- instead referring the reader to search Google. I ended up using different query terms and finding what I was looking for but as I said, this is happening more and more.&lt;/p&gt;
&lt;p&gt;I find it interesting and somewhat bothersome that these types of responses -- typically snarky to boot -- are becoming more prevalent in search results and I hope it doesn't get too out of hand.&lt;/p&gt;</content><category term="Uncategorized"></category><category term="lmgtfy"></category></entry><entry><title>Battlefield 3: Post Patch Woes</title><link href="https://cl0secall.net/2011/11/24/battlefield-3-post-patch-woes/" rel="alternate"></link><published>2011-11-24T02:12:00-05:00</published><updated>2011-11-24T02:12:00-05:00</updated><author><name>cl0secall</name></author><id>tag:cl0secall.net,2011-11-24:/2011/11/24/battlefield-3-post-patch-woes/</id><content type="html">&lt;p&gt;In short, the game won't launch post-patch (the Nov 22 patch). I've tried installing the latest AMD video drivers, and all of the current windows updates, to no avail. Now I'm going to try leaving it in this state (trying to launch) overnight to see what happens.&lt;/p&gt;</content><category term="Games"></category></entry><entry><title>FusionPBX Provisioning</title><link href="https://cl0secall.net/2011/11/04/fusionpbx-provisioning/" rel="alternate"></link><published>2011-11-04T02:08:00-04:00</published><updated>2011-11-04T02:08:00-04:00</updated><author><name>cl0secall</name></author><id>tag:cl0secall.net,2011-11-04:/2011/11/04/fusionpbx-provisioning/</id><summary type="html">&lt;p&gt;I got FusionPBX Provisioning to work on my beta HomePBX system. Turns out that you must specify only one of TFTP or FTP provisioning directory, or else the system will not be able to write out all of the files. This is because it unsets one of the variables (\$file_name …&lt;/p&gt;</summary><content type="html">&lt;p&gt;I got FusionPBX Provisioning to work on my beta HomePBX system. Turns out that you must specify only one of TFTP or FTP provisioning directory, or else the system will not be able to write out all of the files. This is because it unsets one of the variables (\$file_name) after writing out the file once, but will still try to write out the file a second time in the FTP directory anyways (with an empty filename). Fun times. Because the system writes out all of the files to this directory, I was able to cobble together an nginx config that allows my Polycom phone to provision and push logs to the provisioning directory. Still no luck getting it to register though.&lt;/p&gt;</content><category term="Projects"></category><category term="fusionpbx"></category><category term="polycom"></category><category term="sip"></category></entry><entry><title>FreeSwitch</title><link href="https://cl0secall.net/2011/11/04/freeswitch/" rel="alternate"></link><published>2011-11-04T02:04:00-04:00</published><updated>2011-11-04T02:04:00-04:00</updated><author><name>cl0secall</name></author><id>tag:cl0secall.net,2011-11-04:/2011/11/04/freeswitch/</id><summary type="html">&lt;p&gt;One thing I feel I've learned in the world of systems administration is that although there is such a thing as good documentation, it's much like good food. It's only good right after you make it, or if you take very good care of it. Depending on how you made …&lt;/p&gt;</summary><content type="html">&lt;p&gt;One thing I feel I've learned in the world of systems administration is that although there is such a thing as good documentation, it's much like good food. It's only good right after you make it, or if you take very good care of it. Depending on how you made it, it might not keep very well. All this to say, FreeSWITCH's documentation left me lost and confused. The documentation seemed to me to be very fragmented, in that the valuable parts were scattered amongst various wiki articles and blog posts about how someone got FreeSWITCH working with specific hardware for specific purposes. It would have been nice to have seen an overview about some general conventions and a thorough description of what happens when you turn up FreeSWITCH out-of-the-box.&lt;/p&gt;
&lt;p&gt;Compare this to Elastix (which is really just FreePBX + addons) where you can dig around in the GUI and get most of the configuration figured out fairly quickly. It's not an apt comparison or a very fair one, but it describes my predicament. I am attempting to use FusionPBX with FreeSWITCH but it seems like FusionPBX doesn't really take the bumps out of FreeSWITCH, rather just simplifies access to the configs.&lt;/p&gt;
&lt;p&gt;In any case, here's what I have on FreeSWITCH so far:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;It's [very important]{style="text-decoration: underline;"} to understand that the XML configuration files are all interpolated into a [single file]{style="text-decoration: underline;"} at runtime. This file is located at &lt;code&gt;&amp;lt;tt&amp;gt;&lt;/code&gt;/var/log/freeswitch/freeswitch.xml.fsxml&lt;code&gt;&amp;lt;/tt&amp;gt;&lt;/code&gt; on FreeBSD. I had problems with redundant tags and nesting that were happening because documentation and HOWTO snippets weren't explicit in how to specifically apply each example. (in other words Copy &amp;amp; Paste fail.)&lt;/li&gt;
&lt;li&gt;When configuring POTS hardware, it's important to note that DAHDI drivers instruct you to configure your analog ports with the signalling [you expect to see from the far endpoint]{style="text-decoration: underline;"} (on an FXO port, you would configure FXS signalling, as the CO side will use that signalling.) FreeTDM does the &lt;em&gt;opposite&lt;/em&gt; -- you configure the port with the signalling [that the port will use]{style="text-decoration: underline;"}. (On and FXO port, you would configure FXO signalling.) I didn't see this in &lt;strong&gt;&lt;em&gt;any&lt;/em&gt;&lt;/strong&gt; of the documentation until &lt;em&gt;after&lt;/em&gt; I found it mentioned in an e-mail to the freeswitch-users mailing list. I then found it on an FAQ/troubleshooting page. I lost two days to figuring this out. Mostly because I was doing this at 3am those days.&lt;/li&gt;
&lt;li&gt;Internally, FreeSWITCH seems to refer to endpoints using a nomenclature like this: &lt;em&gt;module&lt;/em&gt;/&lt;em&gt;instance&lt;/em&gt;/&lt;em&gt;counter&lt;/em&gt;. For example, (FreeTDM/trunk/1) or (sofia/internal/1000\@example.com). There also seems to be an alternative nomenclature which causes some sort of internal resolver process to be used to identify the specific endpoint: "&lt;em&gt;extension&lt;/em&gt; &lt;em&gt;dialplan_type&lt;/em&gt; &lt;em&gt;dialplan_context&lt;/em&gt;". For example "1000 XML default". Examples in the documentation didn't appear to explain this at all. I had lots of trouble getting my FreeTDM extensions to work properly, to an extent that I began to believe that I wouldn't be able to use my hardware under FreeBSD. It turned out that I was putting them in the configuration wrong. I had "FreeTDM/1/2" or "FreeTDM/exten/1/2" (meaning &lt;em&gt;module&lt;/em&gt;/&lt;em&gt;span_number&lt;/em&gt;/&lt;em&gt;channel_number&lt;/em&gt;" or "&lt;em&gt;module&lt;/em&gt;/&lt;em&gt;span_name&lt;/em&gt;/&lt;em&gt;span_number&lt;/em&gt;/&lt;em&gt;channel_number&lt;/em&gt;" instead of the correct nomenclature above.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I'm sure there's more, but I'm more interested in getting this posted for now, and getting something more formalized up later. I've been working with FreeSwitch more over the past few days since I started writing this post on the 30th and things are coming along, slowly. I at least have the PSTN stuff fairly well down, and got voicemail and SIP registrations partially working as well. The next steps are to smooth eveything out and get some better logging and UI in place (e.g. error reports when lines are busy, etc.)&lt;/p&gt;</content><category term="Projects"></category><category term="asterisk"></category><category term="elastix"></category><category term="freeswitch"></category><category term="fusionpbx"></category><category term="pstn"></category><category term="sip"></category><category term="voip"></category></entry><entry><title>Update Nagging: Getting out of Hand</title><link href="https://cl0secall.net/2011/11/04/update-nagging-getting-out-of-hand/" rel="alternate"></link><published>2011-11-04T01:50:00-04:00</published><updated>2011-11-04T01:50:00-04:00</updated><author><name>cl0secall</name></author><id>tag:cl0secall.net,2011-11-04:/2011/11/04/update-nagging-getting-out-of-hand/</id><summary type="html">&lt;p&gt;These days it seems I have less and less time to use my machine, let alone maintain things. At the same time I've noticed that software has become increasingly whiny and nagging when "new versions" become available. WordPress, Firefox, SumatraPDF, FileZilla, Notepad++ are just a few that come to mind …&lt;/p&gt;</summary><content type="html">&lt;p&gt;These days it seems I have less and less time to use my machine, let alone maintain things. At the same time I've noticed that software has become increasingly whiny and nagging when "new versions" become available. WordPress, Firefox, SumatraPDF, FileZilla, Notepad++ are just a few that come to mind that more often than not demand that an update get installed close to every time I use them. (Maybe not so much with Firefox.)&lt;/p&gt;
&lt;p&gt;What's the point? I'm not really sure. A quick search on the WordPress nag indicates that it's some kind of nudge towards "don't come crying in the forums if some nifty ajax thingy doesn't work in your ancient browser". Like that's going to work. Congratulations, now folks will barge into your forums and complain about the nagging pop-ups.&lt;/p&gt;
&lt;p&gt;I do know one thing: Each and every one of those programs is up for review to be replaced with something less needy. I need a bit more longevity out of my software. WordPress and Firefox are at the top of that list. I've been planning a Django migration for some time now, and I've been exploring alternate browsers as well.&lt;/p&gt;</content><category term="Uncategorized"></category><category term="django"></category><category term="filezilla"></category><category term="firefox"></category><category term="new version"></category><category term="notepad++"></category><category term="sumatrapdf"></category><category term="wordpress"></category></entry><entry><title>Brave New Worlds</title><link href="https://cl0secall.net/2011/10/28/brave-new-worlds/" rel="alternate"></link><published>2011-10-28T01:25:00-04:00</published><updated>2011-10-28T01:25:00-04:00</updated><author><name>cl0secall</name></author><id>tag:cl0secall.net,2011-10-28:/2011/10/28/brave-new-worlds/</id><summary type="html">&lt;p&gt;I've been doing a lot of exciting things lately -- too many to go into great detail right now.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;FreeSwitch / FusionPBX as a replacement for Elastix. This is allowing me to roll all of the services provided by the Elastix box into another already built system.&lt;/li&gt;
&lt;li&gt;URL Shortener. Still in progress …&lt;/li&gt;&lt;/ul&gt;</summary><content type="html">&lt;p&gt;I've been doing a lot of exciting things lately -- too many to go into great detail right now.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;FreeSwitch / FusionPBX as a replacement for Elastix. This is allowing me to roll all of the services provided by the Elastix box into another already built system.&lt;/li&gt;
&lt;li&gt;URL Shortener. Still in progress, but hopefully coming soon.&lt;/li&gt;
&lt;li&gt;Anti-Spam stuff -- site-wide SpamAssassin with Spam-folder support.&lt;/li&gt;
&lt;li&gt;XMPP Server with Conferencing&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additionally, I have been pipe-dreaming up more projects to keep me busy.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ClamAV for the anti-spam stuff, plus a web-based quarantine manager&lt;/li&gt;
&lt;li&gt;Debating breaking down and installing a IMAP-backed webmail package&lt;/li&gt;
&lt;li&gt;Diaspora seeds&lt;/li&gt;
&lt;li&gt;lighttpd or nginx as reverse proxy / static host to replace Apache&lt;/li&gt;
&lt;li&gt;Django as a replacement for WordPress and gateway to many more things for the site.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I have been forced to budget my time somethin' fierce, but here and there I've made some great progress. Hopefully I'll be able to document it all here at some point.&lt;/p&gt;</content><category term="Projects"></category><category term="asterisk"></category><category term="clamav"></category><category term="diaspora"></category><category term="django"></category><category term="elastix"></category><category term="freeswitch"></category><category term="fusionpbx"></category><category term="imap"></category><category term="lighttpd"></category><category term="nginx"></category><category term="spamassassin"></category><category term="webmail"></category><category term="wordpress"></category><category term="xmpp"></category></entry><entry><title>MicroStorage</title><link href="https://cl0secall.net/2011/06/19/microstorage/" rel="alternate"></link><published>2011-06-19T15:29:00-04:00</published><updated>2011-06-19T15:29:00-04:00</updated><author><name>cl0secall</name></author><id>tag:cl0secall.net,2011-06-19:/2011/06/19/microstorage/</id><summary type="html">&lt;p&gt;I've made some progress on my MicroStorage project. Some day I'll have to document it in a page here. I managed to get the storage server and my XP workstation log in using Kerberos credentials and be able to talk to each other. The downside is that Windows 7 is …&lt;/p&gt;</summary><content type="html">&lt;p&gt;I've made some progress on my MicroStorage project. Some day I'll have to document it in a page here. I managed to get the storage server and my XP workstation log in using Kerberos credentials and be able to talk to each other. The downside is that Windows 7 is not cooperating. I've taken a quick peek at having my Mac talk to the storage server but that may prove to be troublesome as well.&lt;/p&gt;
&lt;p&gt;The Windows 7 issue seems to be related to intricacies of the newer MS kerberos implementation.&lt;/p&gt;</content><category term="Projects"></category></entry><entry><title>Brink</title><link href="https://cl0secall.net/2011/06/19/brink/" rel="alternate"></link><published>2011-06-19T15:26:00-04:00</published><updated>2011-06-19T15:26:00-04:00</updated><author><name>cl0secall</name></author><id>tag:cl0secall.net,2011-06-19:/2011/06/19/brink/</id><summary type="html">&lt;p&gt;Been playing Brink a good amount since the release date. Don't really have too much to say about it other than I like it. I wish they had linux server files for it so I could run it on my box here. In the meantime I'm examining the option of …&lt;/p&gt;</summary><content type="html">&lt;p&gt;Been playing Brink a good amount since the release date. Don't really have too much to say about it other than I like it. I wish they had linux server files for it so I could run it on my box here. In the meantime I'm examining the option of running it under wine.&lt;/p&gt;</content><category term="Games"></category></entry><entry><title>Handyman Bill</title><link href="https://cl0secall.net/2011/04/10/handyman-bill/" rel="alternate"></link><published>2011-04-10T11:42:00-04:00</published><updated>2011-04-10T11:42:00-04:00</updated><author><name>cl0secall</name></author><id>tag:cl0secall.net,2011-04-10:/2011/04/10/handyman-bill/</id><summary type="html">&lt;p&gt;I came up with this crazy idea related to politics. I need to start writing stuff down about it, so I'm starting by putting something out here. The inspiration came from my vague understanding of a couple of aspects of the complex structure of politics in the US, specifically:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Individuals …&lt;/li&gt;&lt;/ol&gt;</summary><content type="html">&lt;p&gt;I came up with this crazy idea related to politics. I need to start writing stuff down about it, so I'm starting by putting something out here. The inspiration came from my vague understanding of a couple of aspects of the complex structure of politics in the US, specifically:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Individuals and households largely do no participate in governance or politics, sometimes even in their own communities.&lt;/li&gt;
&lt;li&gt;Many pieces of legislation are not generated by legislators, instead they are provided to legislators by interested parties.&lt;/li&gt;
&lt;li&gt;Individuals can become deeply invested in governance and politics when it come to &lt;em&gt;specific issues&lt;/em&gt; that are important to them.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;I had the idea to apply some principles I've seen applied in other fields to the "problem" of disinterest in governance and politics. I mention governance separately and distinctly from politics because while I believe it is important for citizens to be engaged in issues and questions of governance, I don't believe that should necessary entail involvement in politics in general. I suppose I might have to elaborate on that further at some point, but I digress.&lt;/p&gt;
&lt;p&gt;So my idea is this: Create a system/framework/template that can be used to essentially "crowdsource" support for particular issues of governance so that individuals can have the same effect in politics as a larger interest group -- but on the scale of individual issues. Initially I had the idea for a single website, named something akin to "Handyman Bill" which would allow for individuals to submit a request -- like a helpdesk trouble ticket -- for a specific issue and have that reviewed and contributed to by the public at large, and ultimately to have that followed through by the network of individuals who participate in the site. It is not necessarily a novel idea but I feel it's important to get it out there. I will continue to work on it and polish it.&lt;/p&gt;</content><category term="Politics"></category></entry><entry><title>Fixing a Firebird</title><link href="https://cl0secall.net/2011/04/01/fixing-a-firebird/" rel="alternate"></link><published>2011-04-01T05:56:00-04:00</published><updated>2011-04-01T05:56:00-04:00</updated><author><name>cl0secall</name></author><id>tag:cl0secall.net,2011-04-01:/2011/04/01/fixing-a-firebird/</id><summary type="html">&lt;p&gt;My sister owns a 1990 Pontiac Firebird with the 3.1L v6 motor. It had been sitting for a few months because rather suddenly it couldn't hold an idle. It would crank and fire immediately but run really rough, and stall both if you let it run or if you …&lt;/p&gt;</summary><content type="html">&lt;p&gt;My sister owns a 1990 Pontiac Firebird with the 3.1L v6 motor. It had been sitting for a few months because rather suddenly it couldn't hold an idle. It would crank and fire immediately but run really rough, and stall both if you let it run or if you gave it any throttle. I managed to pull two codes from the computer: 33 (MAP sensor high) and 35 (IAC valve failed).&lt;/p&gt;
&lt;p&gt;The first code to show up was the MAP sensor code. I checked the sensor and the lines figuring that it could be those rather than the sensor itself. The vacuum line &lt;em&gt;was&lt;/em&gt; in fact broken and so I replaced it. No dice. I then replaced the sensor. Still no dice. I replaced the MAP sensor. That caused code 35 to show up.&lt;/p&gt;
&lt;p&gt;I pulled the IAC valve off and it looked bad. It was all caked up with carbon and I figured that maybe it just needed to be cleaned. Didn't help. I decided I wasn't going to dump any more cash into the project at the time so I let the car sit a few more months. After finally replacing the IAC valve there was still no progress. At this point I grew anxious. I was out of ideas. After scouring the 'net for a few hours I decided to pull the manifold off and check the injectors. Bingo. 4 of the 6 injectors had a resistance of 12 ohms, One had 6 ohms, and one had 8 ohms.&lt;/p&gt;
&lt;p&gt;After a trip to two different Advance Auto Parts, I replaced the injectors and put the car back together. Initially the engine loped between racing and a rough idle -- but it ran. Eventually it stabilized and I was able to drive the car around the block. At which point it blew the O2 sensor out of the fitting on the exhaust pipe.&lt;/p&gt;
&lt;p&gt;Joy.&lt;/p&gt;</content><category term="Projects"></category><category term="code 33"></category><category term="code 35"></category><category term="firebird"></category><category term="iac"></category><category term="injector"></category><category term="map"></category><category term="stall"></category></entry><entry><title>Systems Work</title><link href="https://cl0secall.net/2011/04/01/systems-work/" rel="alternate"></link><published>2011-04-01T05:44:00-04:00</published><updated>2011-04-01T05:44:00-04:00</updated><author><name>cl0secall</name></author><id>tag:cl0secall.net,2011-04-01:/2011/04/01/systems-work/</id><summary type="html">&lt;p&gt;I've been working to consolidate and replace older, lower powered systems that I use with newer and better hardware. As part of this I acquired some Dell PowerEdge 2850's. I recently built out one of them with FreeBSD 8.2 in an attempt to stage a replacement for my HP …&lt;/p&gt;</summary><content type="html">&lt;p&gt;I've been working to consolidate and replace older, lower powered systems that I use with newer and better hardware. As part of this I acquired some Dell PowerEdge 2850's. I recently built out one of them with FreeBSD 8.2 in an attempt to stage a replacement for my HP ProLiant DL380G3 that I use to host mumble, and another white box server that I run Asterisk on.&lt;/p&gt;
&lt;p&gt;The asterisk side of that equation hasn't worked out so well. I finally figured out how to get the DAHDI drivers to try to attach, and the system panicked. It didn't automatically reset either. I'll have to add that to my checklist. The mumble side of the equation did work out though, and I had already replicated a lot of the files off of the system so I ended up doing the cutover this morning.&lt;/p&gt;
&lt;p&gt;The net result is that I've managed to power down the most noisy server in my rack and quiet down the house a bit. At some point in the future I want to follow up with more details on the kernel panic in the hopes that I can spare some agony for others.&lt;/p&gt;</content><category term="Projects"></category></entry><entry><title>Android and Bluetooth</title><link href="https://cl0secall.net/2011/02/27/android-and-bluetooth/" rel="alternate"></link><published>2011-02-27T13:57:00-05:00</published><updated>2011-02-27T13:57:00-05:00</updated><author><name>cl0secall</name></author><id>tag:cl0secall.net,2011-02-27:/2011/02/27/android-and-bluetooth/</id><summary type="html">&lt;p&gt;The more I learn about the Android OS, the more disappointed I become. I don't really have a good grasp of what kind of resources are spent on developing the Android OS nor do I feel that I have a good grasp of the goals or direction of the project …&lt;/p&gt;</summary><content type="html">&lt;p&gt;The more I learn about the Android OS, the more disappointed I become. I don't really have a good grasp of what kind of resources are spent on developing the Android OS nor do I feel that I have a good grasp of the goals or direction of the project. But I am more and more discovering that those goals and direction are not likely to be mutual with my own.&lt;/p&gt;
&lt;p&gt;Case in point: Bluetooth support. I had the misunderstanding that Android had a full bluetooth stack with abilities similar to a desktop computer with a bluetooth radio. Turns out I was wrong. According to &lt;a href="http://source.android.com/porting/bluetooth.html"&gt;this page&lt;/a&gt; on the Android website there is only limited support for specific bluetooth services. Notably missing from the currently supported is an HID service or profile. Also of note is the very limited support for OBEX services/profile. Perhaps I'm just "spoiled" because the Blackberry that I had used at my previous job had better support for this kind of thing (though I don't know about HID on a Blackberry) although I absolutely loathed that Blackberry.&lt;/p&gt;
&lt;p&gt;I've been holding off on upgrading my very slow and at this point somewhat dated HTC Hero until I could find a solution for typing going forward. It appears that my choices are to either get a phone with a full keyboard built in, or abandon the Android platform. I'm surprised at myself for seriously considering the latter and going back to a "dumb" phone.&lt;/p&gt;</content><category term="Uncategorized"></category><category term="android"></category><category term="bluetooth"></category></entry><entry><title>Solaris 11 Gnome Login Borkage: And how to fix!</title><link href="https://cl0secall.net/2011/02/27/solaris-11-gnome-login-borkage-and-how-to-fix/" rel="alternate"></link><published>2011-02-27T13:33:00-05:00</published><updated>2011-02-27T13:33:00-05:00</updated><author><name>cl0secall</name></author><id>tag:cl0secall.net,2011-02-27:/2011/02/27/solaris-11-gnome-login-borkage-and-how-to-fix/</id><summary type="html">&lt;p&gt;I recently installed Solaris 11 Express at work. This past Friday, I was suddenly unable to log in to the desktop after a crash/reboot. I did a lot of digging but eventually I found the right clue in &lt;em&gt;\~/.xsession-errors&lt;/em&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="nl"&gt;.bashrc:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;no&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="no"&gt;such&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="no"&gt;file&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="no"&gt;or&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="no"&gt;directory&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;/blockquote&gt;
&lt;p&gt;Turns out a change …&lt;/p&gt;</summary><content type="html">&lt;p&gt;I recently installed Solaris 11 Express at work. This past Friday, I was suddenly unable to log in to the desktop after a crash/reboot. I did a lot of digging but eventually I found the right clue in &lt;em&gt;\~/.xsession-errors&lt;/em&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="nl"&gt;.bashrc:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;no&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="no"&gt;such&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="no"&gt;file&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="no"&gt;or&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="no"&gt;directory&lt;/span&gt;&lt;span class="w"&gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;/blockquote&gt;
&lt;p&gt;Turns out a change I had made to ensure consistency in my console environments came back to bite me in the rear. Specifically, I copied all of my customizations in &lt;em&gt;.profile&lt;/em&gt; to &lt;em&gt;.bashrc&lt;/em&gt; and added a line to &lt;em&gt;.profile&lt;/em&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;. .bashrc
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;/blockquote&gt;
&lt;p&gt;The Gnome login process must be calling .profile from some other working directory. While logged in via SSH, I changed the above line to a fully qualified path (&lt;em&gt;/export/home/myuser/.bashrc&lt;/em&gt;) and this fixed the issue. Maybe one day I'll understand the reasoning behind having &lt;em&gt;.profile&lt;/em&gt; vs. &lt;em&gt;.bashrc&lt;/em&gt;, but that day is not today.&lt;/p&gt;</content><category term="Uncategorized"></category><category term="dotbashrc"></category><category term="dotprofile"></category><category term="gdm"></category><category term="gnome login"></category><category term="solaris 11"></category></entry><entry><title>Elastix Upgrade Nightmare</title><link href="https://cl0secall.net/2011/01/09/elastix-upgrade-nightmare/" rel="alternate"></link><published>2011-01-09T11:59:00-05:00</published><updated>2011-01-09T11:59:00-05:00</updated><author><name>cl0secall</name></author><id>tag:cl0secall.net,2011-01-09:/2011/01/09/elastix-upgrade-nightmare/</id><summary type="html">&lt;p&gt;I thought it would be relatively trivial to do an upgrade from Elastix 1.5.2-2 to 1.6.2-27. Initially it seemed this way. I ran:&lt;/p&gt;
&lt;blockquote&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;# yum update yum
# yum update
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;/blockquote&gt;
&lt;p&gt;When this completed, I logged back in to the system and saw that it was up to 1 …&lt;/p&gt;</summary><content type="html">&lt;p&gt;I thought it would be relatively trivial to do an upgrade from Elastix 1.5.2-2 to 1.6.2-27. Initially it seemed this way. I ran:&lt;/p&gt;
&lt;blockquote&gt;
&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;# yum update yum
# yum update
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;/blockquote&gt;
&lt;p&gt;When this completed, I logged back in to the system and saw that it was up to 1.6.2-27. What I didn't notice at the time is that I could no longer access the PBX tab in the web admin panel and that the system wasn't interfacing with my lines or extensions anymore. Once I discovered that this was the case I immediately went to search the Elastix forums (and the web at large) for answers. I largely came up empty handed. The few threads that I did find didn't fully match my situation:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.elastix.org/en/component/kunena/3-help/58489-cant-enter-to-pbx-menu.html"&gt;Can't enter to PBX menu&lt;/a&gt; - in this thread, the premise is the same. An update from 'yum update' and the PBX menu goes blank.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.elastix.org/en/component/kunena/1-installation-issues/60880-pbx-menu-does-not-work-with-new-install.html"&gt;PBX menu does not work with new install&lt;/a&gt; - different premise and version but the same problem.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.elastix.org/en/component/kunena/32-freepbx/9060-menupbxconfig-en-blanco.html?limit=10&amp;amp;start=20#59589"&gt;?menu=pbxconfig en blanco&lt;/a&gt; - I had this tab open but I don't think I read it. It has the solution but in passing. It also has the fix for some others' problems with DB connect.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ultimately I was able to draw the conclusion that there is a tie-in between FreePBX and Elastix's PBX menu. I accessed FreePBX and noticed that nearly all of the modules were disabled because they were outdated. I updated them and the PBX menu problem went away. Somewhere I have a copy (probably outdated) of Elastix without Tears that probably tells me this as well. Nonetheless I hope that this helps save someone else's time finding and fixing this issue.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; A boot option change (the default kernel to boot) was changed in my troubleshooting of the PBX menu thingy and when this was reverted the line card came back online. The reason for this is because the DAHDI kernel driver is only installed for a particular kernel. I apparently have a second pair of kernels. Not sure where they came from though.&lt;/p&gt;</content><category term="Projects"></category><category term="elastix"></category></entry><entry><title>Site Updates</title><link href="https://cl0secall.net/2010/12/06/site-updates/" rel="alternate"></link><published>2010-12-06T20:53:00-05:00</published><updated>2010-12-06T20:53:00-05:00</updated><author><name>cl0secall</name></author><id>tag:cl0secall.net,2010-12-06:/2010/12/06/site-updates/</id><summary type="html">&lt;p&gt;I was busy yesterday overhauling some things here on the site. First and foremost, I've created a semi-formal Rules (located &lt;a href="/gaming/rules"&gt;here&lt;/a&gt;) to address in advance potential issues with hosted services here on my server. I've already used these provisions once on my ArmA server which was my primary motivation for …&lt;/p&gt;</summary><content type="html">&lt;p&gt;I was busy yesterday overhauling some things here on the site. First and foremost, I've created a semi-formal Rules (located &lt;a href="/gaming/rules"&gt;here&lt;/a&gt;) to address in advance potential issues with hosted services here on my server. I've already used these provisions once on my ArmA server which was my primary motivation for creating the Rules.&lt;/p&gt;
&lt;p&gt;I'm working on cleaning up some other tasks that have been pending for a while, including a migration to a partial/full virtual domain setup for my MTA. This looks to be easier than I was expecting and hopefully I'll have it completed tonight. As for other things I was doing yesterday, I cleaned up the gaming pages, fixed permalinks, and generally worked to improve and establish stuff that had been on my pending task list.&lt;/p&gt;</content><category term="Projects"></category></entry><entry><title>Random Stuff</title><link href="https://cl0secall.net/2010/11/16/random-stuff/" rel="alternate"></link><published>2010-11-16T07:02:00-05:00</published><updated>2010-11-16T07:02:00-05:00</updated><author><name>cl0secall</name></author><id>tag:cl0secall.net,2010-11-16:/2010/11/16/random-stuff/</id><summary type="html">&lt;p&gt;I've been busy, yet idle for the past few months. Unfortunately this hasn't meant additional time for productive projects. In the past few weeks however, I have been trying to squeeze more time in for projects. Here's a summary of the things I've been doing:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Set up a series of …&lt;/li&gt;&lt;/ul&gt;</summary><content type="html">&lt;p&gt;I've been busy, yet idle for the past few months. Unfortunately this hasn't meant additional time for productive projects. In the past few weeks however, I have been trying to squeeze more time in for projects. Here's a summary of the things I've been doing:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Set up a series of trac instances for project management for various things, including some contract work I'm doing, a World of Warcraft Guild, and for various aspects of personal projects.&lt;/li&gt;
&lt;li&gt;Begun a LAN overhaul -- a new firewall, IP scheme, hostname scheme, the works.&lt;/li&gt;
&lt;li&gt;Preparing for a new job.&lt;/li&gt;
&lt;li&gt;Installed a Solaris 10 box for sandbox testing and familiarization. In my recent job search, I noted that most Unix-related jobs reference Solaris if not RHEL.&lt;/li&gt;
&lt;li&gt;Finished "blocker" repairs on the 1988 Corvette. It is now drivable and I plan to have the safety inspection re-upped ASAP. There is still a lengthy to-do list for this car though.&lt;/li&gt;
&lt;li&gt;Worked heavily on the 1978 Ford Van, but it's still not fully running.&lt;/li&gt;
&lt;li&gt;Some general house cleanup and reorganization. Much more of that to-do as well.&lt;/li&gt;
&lt;li&gt;More stuff that I can't think of off the top of my head.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;As in the past, I resolve to update this site more frequently. One of the main reasons is so that I can "brain dump" and help myself keep organized. Here's hoping that I follow through more effectively this time.&lt;/p&gt;</content><category term="Projects"></category></entry><entry><title>Mobile Enabled</title><link href="https://cl0secall.net/2010/07/19/mobile-enabled/" rel="alternate"></link><published>2010-07-19T15:09:00-04:00</published><updated>2010-07-19T15:09:00-04:00</updated><author><name>cl0secall</name></author><id>tag:cl0secall.net,2010-07-19:/2010/07/19/mobile-enabled/</id><summary type="html">&lt;p&gt;I installed the WordPress Mobile pack recently. I haven't had too much time to play with it yet, but I like it so far. Seems to make mobile use of the site far easier, though it reveals some flaws in my site layout. Currently the biggest issue outstanding is that …&lt;/p&gt;</summary><content type="html">&lt;p&gt;I installed the WordPress Mobile pack recently. I haven't had too much time to play with it yet, but I like it so far. Seems to make mobile use of the site far easier, though it reveals some flaws in my site layout. Currently the biggest issue outstanding is that subpages aren't easily accessible since the list of subpages isn't visible for any given page. I have that on my list of to-dos and hopefully I'll get it resolved soon.&lt;/p&gt;</content><category term="Projects"></category><category term="mobile"></category><category term="wordpress"></category></entry><entry><title>Posting Backlog</title><link href="https://cl0secall.net/2010/06/18/posting-backlog/" rel="alternate"></link><published>2010-06-18T16:42:00-04:00</published><updated>2010-06-18T16:42:00-04:00</updated><author><name>cl0secall</name></author><id>tag:cl0secall.net,2010-06-18:/2010/06/18/posting-backlog/</id><summary type="html">&lt;p&gt;Just a quick note that I have a bunch of stuff to post/update but time has been at a premium lately and I haven't had the opportunity to follow through. On the agenda:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;OpenBSD Projects&lt;ul&gt;
&lt;li&gt;Android SDK&lt;/li&gt;
&lt;li&gt;Eclipse IDE&lt;/li&gt;
&lt;li&gt;Atheros Wireless driver (ath)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Battlefield Bad Company 2 critique&lt;/li&gt;
&lt;li&gt;Miscellany …&lt;/li&gt;&lt;/ul&gt;</summary><content type="html">&lt;p&gt;Just a quick note that I have a bunch of stuff to post/update but time has been at a premium lately and I haven't had the opportunity to follow through. On the agenda:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;OpenBSD Projects&lt;ul&gt;
&lt;li&gt;Android SDK&lt;/li&gt;
&lt;li&gt;Eclipse IDE&lt;/li&gt;
&lt;li&gt;Atheros Wireless driver (ath)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Battlefield Bad Company 2 critique&lt;/li&gt;
&lt;li&gt;Miscellany&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Not that anyone is exactly in anticipation of updated from me, but moreso as a non-mental note to myself that I need to come back and commit to paper, so to speak.&lt;/p&gt;</content><category term="Projects"></category><category term="androidsdk"></category><category term="OpenBSD"></category></entry><entry><title>OpenBSD: The Hard Way To Do Things</title><link href="https://cl0secall.net/2010/06/04/openbsd-the-hard-way-to-do-things/" rel="alternate"></link><published>2010-06-04T15:54:00-04:00</published><updated>2010-06-04T15:54:00-04:00</updated><author><name>cl0secall</name></author><id>tag:cl0secall.net,2010-06-04:/2010/06/04/openbsd-the-hard-way-to-do-things/</id><summary type="html">&lt;p&gt;OpenBSD has proven to be quite a challenge. Let's start at the install. Unlike FreeBSD, OpenBSD doesn't have a USB stick install image. This meant, ultimately, that I needed to obtain a USB DVD drive to be able to install the OS. Additionally, I've encountered numerous roadblocks to installing Eclipse …&lt;/p&gt;</summary><content type="html">&lt;p&gt;OpenBSD has proven to be quite a challenge. Let's start at the install. Unlike FreeBSD, OpenBSD doesn't have a USB stick install image. This meant, ultimately, that I needed to obtain a USB DVD drive to be able to install the OS. Additionally, I've encountered numerous roadblocks to installing Eclipse. It seems that a lot of the eclipse documentation is predicated on the reader's relatively intimate knowledge and experience with Java development in general, and the tools used to build eclipse more specifically. I haven't had a lot of time to pursue the Eclipse development, so perhaps I'll forgo eclipse for the moment and begin porting the SDK instead. I haven't decided yet.&lt;/p&gt;</content><category term="Uncategorized"></category></entry><entry><title>Android SDK Part 3: OpenBSD</title><link href="https://cl0secall.net/2010/04/27/android-sdk-part-3-openbsd/" rel="alternate"></link><published>2010-04-27T22:49:00-04:00</published><updated>2010-04-27T22:49:00-04:00</updated><author><name>cl0secall</name></author><id>tag:cl0secall.net,2010-04-27:/2010/04/27/android-sdk-part-3-openbsd/</id><summary type="html">&lt;p&gt;Here goes nothing. I'm going to go ahead and try to port the Android SDK tools to OpenBSD. Hope it's not as bad as I anticipate. I've already installed OpenBSD on my Acer again. The page for that will come soon. OpenBSD has some rough edges on this box. They …&lt;/p&gt;</summary><content type="html">&lt;p&gt;Here goes nothing. I'm going to go ahead and try to port the Android SDK tools to OpenBSD. Hope it's not as bad as I anticipate. I've already installed OpenBSD on my Acer again. The page for that will come soon. OpenBSD has some rough edges on this box. They are in different places than on FreeBSD, and I suspect that at least one of the problems I have been able to resolve under Open I would have also been able to solve under Free, had I known to try it.&lt;/p&gt;
&lt;p&gt;In the meantime, I've been trying to get the JDK 1.5 installed so I can begin to build Eclipse from source, as Open doesn't have a recent enough version of Eclipse that I can actually use. Once the JDK is done, I'll pursue the rest of the dependencies. Hopefully most of the packages are recent enough that I can satisfy all of the dependencies for Eclipse. I hadn't checked yet to make sure. If not, I may need to switch back to Free, or throw in the towel and switch to Ubuntu or OpenSUSE. At the moment I think it's time for bed. I'm going to let the JDK try to finish overnight.&lt;/p&gt;</content><category term="Projects"></category><category term="androidsdk"></category><category term="freebsd"></category><category term="linux"></category><category term="OpenBSD"></category></entry><entry><title>Regrouping from defeat: Android SDK next steps</title><link href="https://cl0secall.net/2010/04/21/regrouping-from-defeat-android-sdk-next-steps/" rel="alternate"></link><published>2010-04-21T15:12:00-04:00</published><updated>2010-04-21T15:12:00-04:00</updated><author><name>cl0secall</name></author><id>tag:cl0secall.net,2010-04-21:/2010/04/21/regrouping-from-defeat-android-sdk-next-steps/</id><summary type="html">&lt;p&gt;I've given up on using the Freebroid port of the Android SDK. I don't know enough about git in order to ensure that I can make the necessary changes in my local git tree and be able to merge in updates from the master Android repo on kernel.org. Once …&lt;/p&gt;</summary><content type="html">&lt;p&gt;I've given up on using the Freebroid port of the Android SDK. I don't know enough about git in order to ensure that I can make the necessary changes in my local git tree and be able to merge in updates from the master Android repo on kernel.org. Once I figure this part out, I think I'm going to start my own "fork" of the SDK. The next question is then whether I want to continue to use FreeBSD, or go back to OpenBSD, which in my opinion has better hardware support on my Acer but doesn't have a prebuilt package for Eclipse. Either way I'm content to use git and perhaps even standardize on it as my SCM of choice. It seems far more robust than other products though I have no real useful experience developing with any of them.&lt;/p&gt;</content><category term="Projects"></category><category term="androidsdk"></category><category term="freebsd"></category></entry><entry><title>Struggling with the Android SDK on FreeBSD</title><link href="https://cl0secall.net/2010/04/02/struggling-with-the-android-sdk-on-freebsd/" rel="alternate"></link><published>2010-04-02T13:16:00-04:00</published><updated>2010-04-02T13:16:00-04:00</updated><author><name>cl0secall</name></author><id>tag:cl0secall.net,2010-04-02:/2010/04/02/struggling-with-the-android-sdk-on-freebsd/</id><summary type="html">&lt;p&gt;I started out by trying the "BSDroid" port of the SDK. After some toil, I was able to get projects to build, but wasn't able to get the debugger/emulator to work. I even tried using truss/ktrace to debug the debugger/emulator but was never able to isolate the …&lt;/p&gt;</summary><content type="html">&lt;p&gt;I started out by trying the "BSDroid" port of the SDK. After some toil, I was able to get projects to build, but wasn't able to get the debugger/emulator to work. I even tried using truss/ktrace to debug the debugger/emulator but was never able to isolate the problem.&lt;/p&gt;
&lt;p&gt;Ultimately I decided to try the "freebroid" SDK port. The documentation was extremely simplistic, and I had to figure out how to use `git` in order to gain any traction. The "fetchgitorious.sh" script ended up needing to be modified (I added ":FreeBSD-host" to the end of the `git fetch` string, so that the "FreeBSD-host" branch would be created) so that the "switch2freebroid.sh" script would actually work. Initially I had been getting errors about "no branch" or something similar.&lt;/p&gt;
&lt;p&gt;The next hurdle was learning that I needed the JDK 1.5 instead of 1.6, as BSDroid had abstracted all of that and/or rendered it otherwise unneccesary. Once I installed the 1.5 JDK and set JAVA_VERSION to 1.5, and JAVA_HOME and ANDROID_JAVA_HOME to "/usr/local/diablo-jdk1.5.0" I was up and running. At least until the next hurdle.&lt;/p&gt;
&lt;p&gt;I next had to modify the "external/srec/tools/grxmlcompile/Android.mk" file to include the same "ifndef \$HOST_OS, freebsd" clause around the "LOCAL_LDFLAGS += -ldl" line so that the linker wasn't searching for the nonexistent libdl library. At this point I decided that I've been playing with this for too long without documenting my progress. It's still building right now... or not. Great, something about SDL. I guess I'll be at this for some time.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; I forgot to mention that I also had to set LD_LIBRARY_PATH to "out/host/freebsd-x86/lib" so that I didn't get an error about a missing "libESR_Shared.so". Now I'm struggling with the error "no rule to make target libSDL.a".&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Update 2:&lt;/strong&gt; I finally figured out the SDL problem. The android emulator uses a forked version of the SDL 1.2 library with functions that are (apparently) part of the SDL 1.3 specification, but using the SDL 1.2 nomenclature (specifically SDL_WM_GetPos and SDL_WM_SetPos). As these aren't in my system default library, and the freebroid project has set up the port not to build the android-supplied libSDL, I'll have to do the work myself.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Update 3:&lt;/strong&gt; Turns out that the libSDL source that is available on http://android.kernel.org/pub/ is out of date. A newer (prebuilt binary) version of libSDL was added to the tree since then, and is incompatible with the older sources due to the addition of two new functions: SDL_WM_GetMonitorDPI and SDL_WM_GetMonitorRect. As such, I'll have to try to revert my local tree to the previous version and recompile. As I really don't know the tools that well this will take some time. The relevant commit message can be found &lt;a href="http://android.git.kernel.org/?p=platform/prebuilt.git;a=commit;h=7d324691856f259ffa6edb674cf06dfadd54f9ca"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Update 4:&lt;/strong&gt; I decided to check the git tree under external/qemu to see if the sources were ever committed, and maybe there just wasn't any record of this change. Sure enough, I found &lt;a href="http://android.git.kernel.org/?p=platform/external/qemu.git;a=commit;h=46be48730333120a7b939116cef075e61c12c703"&gt;this&lt;/a&gt; and used the source code located at external/qemu/distrib/sdl-1.2.12 to build the modified SDL package. Also, I've put together a project page which has the distillation of this saga into a few instructions.&lt;/p&gt;</content><category term="Projects"></category><category term="androidsdk"></category><category term="freebsd"></category></entry><entry><title>HTC Hero</title><link href="https://cl0secall.net/2009/10/17/htc-hero/" rel="alternate"></link><published>2009-10-17T17:20:00-04:00</published><updated>2009-10-17T17:20:00-04:00</updated><author><name>cl0secall</name></author><id>tag:cl0secall.net,2009-10-17:/2009/10/17/htc-hero/</id><summary type="html">&lt;p&gt;The HTC Hero (&lt;a href="http://en.wikipedia.org/wiki/HTC_Hero"&gt;wikipedia&lt;/a&gt;, &lt;a href="http://www.htc.com/us/products/hero-sprint"&gt;htc US&lt;/a&gt;) is my current personal handset. This phone runs the Android OS. My handset runs Android 1.5. I've been trying to get the developer kit to build on FreeBSD but haven't had much luck. It is rumored that Android 2.1 will become available …&lt;/p&gt;</summary><content type="html">&lt;p&gt;The HTC Hero (&lt;a href="http://en.wikipedia.org/wiki/HTC_Hero"&gt;wikipedia&lt;/a&gt;, &lt;a href="http://www.htc.com/us/products/hero-sprint"&gt;htc US&lt;/a&gt;) is my current personal handset. This phone runs the Android OS. My handset runs Android 1.5. I've been trying to get the developer kit to build on FreeBSD but haven't had much luck. It is rumored that Android 2.1 will become available for my phone within as little as a few weeks.&lt;/p&gt;
&lt;h2&gt;Gripes&lt;/h2&gt;
&lt;p&gt;I have some gripes about the phone. Mostly I complain about the underpowered processor, or rather the fact that the phone feels vastly underpowered. I routinely battle user interface latency when (for example) I am trying to send an SMS text message while one is inbound. Sometimes, I'm not able to answer phone calls while messages are coming in and I end up missing calls. In this regard the handset is a disappointment. Another complaint I have is that there is no task or to-do list program "out of the box". I'm sure that there are solutions from the Market, but that's somewhat beside the point. To be fair, I haven't evaluated third-party options yet so there may be a solution I'm not aware of. Keep this caveat in mind for my other gripes as well.&lt;/p&gt;
&lt;p&gt;Other gripes include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The mail application doesn't sort folder names.&lt;/li&gt;
&lt;li&gt;(ed. note: time to leave work. I'll fix this later).&lt;/li&gt;
&lt;/ul&gt;</content><category term="Uncategorized"></category></entry><entry><title>HTC Hero on Sprint</title><link href="https://cl0secall.net/2009/10/17/htc-hero-on-sprint/" rel="alternate"></link><published>2009-10-17T17:11:00-04:00</published><updated>2009-10-17T17:11:00-04:00</updated><author><name>cl0secall</name></author><id>tag:cl0secall.net,2009-10-17:/2009/10/17/htc-hero-on-sprint/</id><summary type="html">&lt;p&gt;HTC in conjunction with Sprint/Nextel have released (on Oct 11th, to be exact) a new CDMA handset powered by the Android OS. I picked up one of these the following Monday, Oct 12th at a Best Buy Mobile local to me. (The Sprint Store was sold out.) As I …&lt;/p&gt;</summary><content type="html">&lt;p&gt;HTC in conjunction with Sprint/Nextel have released (on Oct 11th, to be exact) a new CDMA handset powered by the Android OS. I picked up one of these the following Monday, Oct 12th at a Best Buy Mobile local to me. (The Sprint Store was sold out.) As I continue to explore the phone, I'll be updating with my thoughts, ideas, and opinions.&lt;/p&gt;</content><category term="Uncategorized"></category><category term="hero"></category></entry><entry><title>Mac/BlackBerry Tethering with Bluetooth</title><link href="https://cl0secall.net/2009/01/16/macblackberry-tethering-with-bluetooth/" rel="alternate"></link><published>2009-01-16T18:08:00-05:00</published><updated>2009-01-16T18:08:00-05:00</updated><author><name>cl0secall</name></author><id>tag:cl0secall.net,2009-01-16:/2009/01/16/macblackberry-tethering-with-bluetooth/</id><summary type="html">&lt;p&gt;Apologies in advance. This is a mess, and pretty much a "brain dump", but I'd rather it be messy and more inclusive than not out there at all since I'll have limited time to work on it. Please bear with me as I get through this disaster.&lt;/p&gt;
&lt;p&gt;The Mac: A …&lt;/p&gt;</summary><content type="html">&lt;p&gt;Apologies in advance. This is a mess, and pretty much a "brain dump", but I'd rather it be messy and more inclusive than not out there at all since I'll have limited time to work on it. Please bear with me as I get through this disaster.&lt;/p&gt;
&lt;p&gt;The Mac: A PowerBook G4 12"&lt;/p&gt;
&lt;p&gt;The BlackBerry: A RIM BlackBerry 8310 "Curve" GSM on the AT&amp;amp;T Network&lt;/p&gt;
&lt;p&gt;The Status: Complicated&lt;/p&gt;
&lt;p&gt;I can easily pair with the BB, and have no problems with configuration. The problem seems to lay in the modem script, modem commands, or some intermittent modem-reset snafu. I have devised a method to be able to further analyze the problem, but we'll get to that at a later date.&lt;/p&gt;
&lt;p&gt;How it works:&lt;/p&gt;
&lt;p&gt;1) Pair the BB to the Mac. This is largely self-explanatory.&lt;br&gt;
2) Obtain a modem script. These are somewhat diverse, but largely consist of the same command set and sequence. I will provide an in-depth analysis in the future.&lt;br&gt;
3) Set up PPP.&lt;br&gt;
4) Input the data connection settings. These are listed below.&lt;br&gt;
5) Hit "Connect", and hope for the best.&lt;/p&gt;
&lt;p&gt;The best luck I've had with this so far is to connect successfully and surf for a few minutes. The worst luck is to have it get to a certain point in the connection process and crap out.&lt;/p&gt;
&lt;p&gt;Connection Settings:&lt;/p&gt;
&lt;p&gt;According to the AT&amp;amp;T Website (no ref link handy, sorry.) these are the settings to use.&lt;/p&gt;
&lt;p&gt;"Dial Number" is "*99***1#"&lt;br&gt;
"WAP Name" is "isp.cingular"&lt;br&gt;
"Username" is "ISP\@CINGULARGPRS.COM"&lt;br&gt;
"Password" is "CINGULAR1"&lt;/p&gt;
&lt;p&gt;I've found that if I did not disable "PPP Echo Request", that the connection would never complete successfully. It is possible, however, that this was due to another issue. Supposedly, if you do not have tethering provisioned, your device can possibly be blacklisted upon connect.&lt;/p&gt;
&lt;p&gt;Update 7/29/2008:&lt;/p&gt;
&lt;p&gt;I've learned a bit more about what's going on (potentially).&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;According to rumor, there is a bug in the Blackberry's Bluetooth stack that only appears when a Mac is tethered. I'm not sure if it's an interaction with the bluetooth stacks or what. Again this is essentially rumor.&lt;/li&gt;
&lt;li&gt;Using the "WWAN Support" modem script also works, and seems to work a bit better. I created a modified script based on this one, changing the bitrate to 460800, and adding an additional initialization string [AT+cgdcont,\34IP\34,\34isp.cingular\34\13] to the script, which was successful the first time, but still had the same timeout and failure to connect with the device.&lt;/li&gt;
&lt;/ol&gt;</content><category term="Uncategorized"></category></entry><entry><title>Mobile Phone Research</title><link href="https://cl0secall.net/2009/01/16/mobile-phone-research/" rel="alternate"></link><published>2009-01-16T18:01:00-05:00</published><updated>2009-01-16T18:01:00-05:00</updated><author><name>cl0secall</name></author><id>tag:cl0secall.net,2009-01-16:/2009/01/16/mobile-phone-research/</id><summary type="html">&lt;p&gt;This page is an anchor for my sub-projects on researching "Open" phones. "Open" is defined here to mean a phone which is not designed or configured to preclude customization or utilization of the phone itself apart from necessary restrictions on use of the radio in contravention with the service agreement …&lt;/p&gt;</summary><content type="html">&lt;p&gt;This page is an anchor for my sub-projects on researching "Open" phones. "Open" is defined here to mean a phone which is not designed or configured to preclude customization or utilization of the phone itself apart from necessary restrictions on use of the radio in contravention with the service agreement or the law.&lt;/p&gt;
&lt;p&gt;Random items of note:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The &lt;a href="http://wiki.openmoko.org/wiki/Main_Page"&gt;OpenMoko Project&lt;/a&gt;'s pilot phone, the &lt;a href="http://wiki.openmoko.org/wiki/Neo_FreeRunner"&gt;Neo FreeRunner&lt;/a&gt; is now available for purchase.&lt;/li&gt;
&lt;li&gt;The HTC "Mogul" uses a Qualcomm MSM7500 chip, which supposedly supports the ARMv6 instruction set. I am researching whether it might be possible to port/build NetBSD/ARM to this phone or others.&lt;/li&gt;
&lt;li&gt;Despite the overwhelming global consensus on the usage of GSM-based technologies, I am still drawn to CDMA because of the relative unattractiveness of AT&amp;amp;T and Verizon, leaving Sprint/Nextel. I have been a Nextel customer for over 5 years, and have been mostly satisfied with their service. I realize that this decision will limit my ability to locate decent equipment due to the monopoly by Qualcomm on CDMA technology but so far am unwilling to commit to any change in platform. Perhaps WiMAX will become compelling enough to offer an escape route that I haven't had up through now.&lt;/li&gt;
&lt;li&gt;HTC in conjunction with Sprint have released an Android-powered CDMA handset, called the "Hero". I picked up one of these and will be exploring it, &lt;a href="/mobile-phone-research/htc-hero"&gt;here&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;</content><category term="Uncategorized"></category></entry><entry><title>Hello world!</title><link href="https://cl0secall.net/2008/12/24/hello-world/" rel="alternate"></link><published>2008-12-24T11:31:00-05:00</published><updated>2008-12-24T11:31:00-05:00</updated><author><name>cl0secall</name></author><id>tag:cl0secall.net,2008-12-24:/2008/12/24/hello-world/</id><content type="html">&lt;p&gt;Let the games begin.&lt;/p&gt;</content><category term="Uncategorized"></category><category term="Administrivia"></category></entry></feed>