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

<channel>
	<title>Sysconfig&#039;s Blog &#187; Software</title>
	<atom:link href="http://sysconfig.ossafe.org/category/software/feed/" rel="self" type="application/rss+xml" />
	<link>http://sysconfig.ossafe.org</link>
	<description>Linux, BSD, Mac OS, the Internet, Programming, and other things</description>
	<lastBuildDate>Sun, 16 May 2010 23:11:01 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Why do Twitter clients use Adobe AIR?</title>
		<link>http://sysconfig.ossafe.org/2009/06/why-do-twitter-clients-use-adobe-air/</link>
		<comments>http://sysconfig.ossafe.org/2009/06/why-do-twitter-clients-use-adobe-air/#comments</comments>
		<pubDate>Sun, 21 Jun 2009 11:56:50 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Flex/Flash]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://sysconfig.ossafe.org/?p=78</guid>
		<description><![CDATA[@tkramar raised the question on Twitter, why every desktop client for that service seems to be built on top of Adobe Air (here). That&#8217;s something, I also was wondering about. And in fact you often hear people complain: &#8220;Why AIR? Why not a native application?&#8221; Let me try to give the answer while having breakfast. [...]]]></description>
			<content:encoded><![CDATA[<p>@<a href="http://twitter.com/tkramar" target="_blank">tkramar</a> raised the question on Twitter, why every desktop client for that service seems to be built on top of Adobe Air (<a href="http://twitter.com/tkramar/status/2227615696" target="_blank">here</a>). That&#8217;s something, I also was wondering about. And in fact you often hear people complain: <em>&#8220;Why AIR? Why not a native application?&#8221;</em> Let me try to give the answer while having breakfast. <img src='http://sysconfig.ossafe.org/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p><span id="more-78"></span></p>
<p>First we need to look at what <a href="http://www.adobe.com/products/air/" target="_blank">Adobe Air</a> is: It is a run-time environment, ported to all common operating systems, which allows to run applications built with <a href="http://www.adobe.com/products/flex/" target="_blank">Adobe Flex</a> on almost any desktop rather than embedded with a browser (where you can run the same applications with little or no modifications using the well-known Flash Player Plugin).</p>
<p>So, we know that AIR developers use Flex. Why is that? That&#8217;s as easy to answer: Flex targets front-end/GUI designers in the first place. Together with Flex, Actionscript, and Flash, you can build quite neat and shiny user interfaces. Most of the &#8220;business logic&#8221; (I know that sounds funny in this context) is not part of it though. The strength of Flex is to use external data sources like web services. On the one hand, it&#8217;s certainly a limitation, but on the other hand that&#8217;s exactly why it&#8217;s being used for Twitter clients, which don&#8217;t do much more than using Twitter&#8217;s API (web service) to display tweets, subsets of tweets, search results, friends and stalkers (erm followers, of course).</p>
<p>So if you want to bring a desktop application to the market, which heavily depends on web services, Flex is probably one of the fastest ways to get there. And Adobe AIR brings the application to the desktop &#8212; on all common operating systems.</p>
<p>Yes, it&#8217;s proprietary software, and closed source. However, anyone can use it free of charge (the Flex SDK is free, the not required Adobe Flex Builder is not). Pretty similar to PDF and Flash. But the licensing policy is another discussion, anyway.</p>
]]></content:encoded>
			<wfw:commentRss>http://sysconfig.ossafe.org/2009/06/why-do-twitter-clients-use-adobe-air/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Octopus &#8212; Logging Server in C#</title>
		<link>http://sysconfig.ossafe.org/2009/06/octopus-logging-server-in-c/</link>
		<comments>http://sysconfig.ossafe.org/2009/06/octopus-logging-server-in-c/#comments</comments>
		<pubDate>Sat, 06 Jun 2009 19:21:21 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://blog.the-ally.co.uk/?p=40</guid>
		<description><![CDATA[
I have to admit that I really like C#. The last 4 or 5 months, I&#8217;ve hardly touched any other programming language. And so it happened to be my first choice when I was asked to develop a &#8220;reasonably fast&#8221; logging server.
So what is this Octopus thing about? In a nutshell it&#8217;s a server, which [...]]]></description>
			<content:encoded><![CDATA[<div>
<p>I have to admit that I really like C#. The last 4 or 5 months, I&#8217;ve hardly touched any other programming language. And so it happened to be my first choice when I was asked to develop a &#8220;reasonably fast&#8221; logging server.</p>
<p>So what is this Octopus thing about? In a nutshell it&#8217;s a server, which takes HTTP requests with a defined set of URL parameters, confirms receipt the client, and then asynchronously stores the request into a database. The interesting bit is the part between accepting the request and storing it to the DB. </p>
<p>Basically, we&#8217;ve got three levels of storage: a in-memory queue, a flat file buffer, and the database. The tricky thing was to optimise processing, while still being fault-tolerant. I kind of managed that, I think. Octopus can (depending on the hardware it runs on) easily accept up to 2,000 requests per second, and will store them into either a MySQL or SQLite database at the moment. Please read more about it on the <a href="http://octopus.ossafe.org" target="_blank">Octopus Website</a>.</div>
]]></content:encoded>
			<wfw:commentRss>http://sysconfig.ossafe.org/2009/06/octopus-logging-server-in-c/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PowerDNS w/ MySQL &#8212; should have tried earlier</title>
		<link>http://sysconfig.ossafe.org/2008/09/powerdns-w-mysql-should-have-tried-earlier/</link>
		<comments>http://sysconfig.ossafe.org/2008/09/powerdns-w-mysql-should-have-tried-earlier/#comments</comments>
		<pubDate>Sun, 14 Sep 2008 21:23:19 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://blog.the-ally.co.uk/?p=22</guid>
		<description><![CDATA[I was quite fed up with BIND (zonefile editing, serial number increasing, master/slave setups), so I was searching for alternatives to run Master/Slave DNS services. More or less randomly, I again came across PowerDNS. Again, because I have heard a couple of times that big providers quite often use it. So I decided to give [...]]]></description>
			<content:encoded><![CDATA[<p>I was quite fed up with BIND (zonefile editing, serial number increasing, master/slave setups), so I was searching for alternatives to run Master/Slave DNS services. More or less randomly, I again came across PowerDNS. Again, because I have heard a couple of times that big providers quite often use it. So I decided to give it a go. On FreeBSD it&#8217;s quite easy. You just install it together with its MySQL modules, activate the modules in the configuration files, import the database schemata, and fill it with content. A script to import BIND zone files directly to the DB is also included. Couldn&#8217;t be easier. </p>
<p>Once you&#8217;ve set it up and got it running, you of course need a slave server as well. So all you got to do is either to install another PowerDNS/MySQL instance on another machine and connect it to the same database (you wouldn&#8217;t really want to do that), or connect it to a second MySQL server, which ideally is a replication slave of the first one. Then you have a fully redundant setup and don&#8217;t need to worry about failures of either of those. All DNS record changes go directly to the master DB server, which will be picked up by the slave in almost real time. Plus, you don&#8217;t need to worry about serial numbers. Change a record in the DB and this change will be published instantly. </p>
<p>If you fancy web interfaces, you can either go for an open source one, or you can write one on your own. As the DB structure of PowerDNS is kept very simple, it&#8217;s easy to add/modify records via script also. Do whatever you want and don&#8217;t worry about the stupid restrictions and configuration hurdles you used to run into when going for a BIND server.</p>
]]></content:encoded>
			<wfw:commentRss>http://sysconfig.ossafe.org/2008/09/powerdns-w-mysql-should-have-tried-earlier/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SPF &#8212; Sender Policy Framework</title>
		<link>http://sysconfig.ossafe.org/2008/05/spf-sender-policy-framework/</link>
		<comments>http://sysconfig.ossafe.org/2008/05/spf-sender-policy-framework/#comments</comments>
		<pubDate>Sun, 25 May 2008 15:31:35 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[general]]></category>

		<guid isPermaLink="false">http://blog.admin-at-once.co.uk/?p=11</guid>
		<description><![CDATA[Did you ever receive spam mails which seem to originate from your own mail address? Or did anybody else complain about you sending those emails? Then you should take a look at SPF. In a nutshell, it plugs the holes in the SMTP protocoll, which does not allow to verify if a sender (or anybody [...]]]></description>
			<content:encoded><![CDATA[<p>Did you ever receive spam mails which seem to originate from your own mail address? Or did anybody else complain about you sending those emails? Then you should take a look at <a href="http://www.openspf.org/" target="_blank">SPF</a>. In a nutshell, it plugs the holes in the SMTP protocoll, which does not allow to verify if a sender (or anybody who pretends to be that sender) really may use a particular mail server to transmit their mails. Unfortunately, SPF is not yet very wide-spread. Almost everybody (including me) has come across this abbreviation and/or heard that it might protect misuse of mail addresses. But most people (including me) cannot be bothered to implement it.</p>
<p><span id="more-11"></span>But as I took a closer view at it recently, it turned out to be a pretty simple task. Only people with loads of domain names and/or restricted nameserver control might run into problems.</p>
<p>In a nutshell, you only need to do this in order to get SPF running on your own server and to tell other mail servers how to deal with your domain name:</p>
<ul>
<li>add a <a href="http://www.openspf.org/Software" target="_blank">policy daemon</a> to your MTA (e.g. postfix-policyd-spf) &#8212; pretty easy, really!</li>
<li>add SPF/TXT records to your zonefiles as described <a href="http://www.openspf.org/SPF_Record_Syntax" target="_blank">here</a></li>
</ul>
<p>That&#8217;s it, honestly. Assuming, you have successfully finished the two tasks, your mail server will block all mails that originate from domains, which have SPF records set and been delivered through other than the allowed hosts. And your domains will be protected from being misused on all other mail servers which use SPF as well.</p>
<p>Example:</p>
<pre>example.com.       IN MX 10  mail
mail.example.com.  IN TXT "v=spf1 mx -all
mail.example.com.  IN A 1.2.3.4</pre>
<p>Now, mails from johndoe@example.com must be delivered through the mailserver mail.example.com. All mailservers which implement SPF will refuse to accept mails from other than that server. Especially the big players like Googlemail do make use of SPF. Although some don&#8217;t block mails, they at least add a telling header which makes spam-filtering easier:</p>
<pre>Received-SPF: fail (google.com: domain of mail@***.co.uk does not designate
85.***.***.*** as permitted sender) client-ip=85.***.***.***
Authentication-Results: mx.google.com; spf=hardfail (google.com: domain of
mail@***.co.uk does not designate 85.***.***.*** as permitted sender)
smtp.mail=mail@***.co.uk</pre>
<p>So what are you waiting for? The more people make SPF mandatory on their servers, the better is its protection against SPAM.</p>
]]></content:encoded>
			<wfw:commentRss>http://sysconfig.ossafe.org/2008/05/spf-sender-policy-framework/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Syncing calendars on multiple Macs and Nokia N95</title>
		<link>http://sysconfig.ossafe.org/2008/04/syncing-calendars/</link>
		<comments>http://sysconfig.ossafe.org/2008/04/syncing-calendars/#comments</comments>
		<pubDate>Thu, 24 Apr 2008 14:49:19 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Mac OS]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://blog.admin-at-once.co.uk/?p=6</guid>
		<description><![CDATA[Generally it is quite easy to sync calendars between one Mac and a Nokia N95 (or any other model). All you need is iSync and the Nokia iSync Plugin. The setup is quite straight-forward. But as the computers store the synchronisation information, conflicts are very likely to happen. So we need another solution to keep [...]]]></description>
			<content:encoded><![CDATA[<p>Generally it is quite easy to sync calendars between <strong>one</strong> Mac and a Nokia N95 (or any other model). All you need is <a href="http://blog.admin-at-once.co.uk/wp-admin/http/www.apple.com/support/isync" target="_blank">iSync</a> and the <a href="http://www.nokia.co.uk/A4630759" target="_blank">Nokia iSync Plugin</a>. The setup is quite straight-forward. But as the computers store the synchronisation information, conflicts are very likely to happen. So we need another solution to keep two (or more) computers and a mobile phone in sync.</p>
<p><span id="more-6"></span></p>
<p>The answer to this problem is the Google Calendar. It is capable to send/receive data in iCal format (which is necessary for the Mac). More precisely: It is able to send iCal data. To receive it, an external tool is needed. I chose <a href="http://spanningsync.com/" target="_blank">SpanningSync</a> which integrates seemlessly into the System Preferences Panel and automatically keeps the Google Calendars and the iCal in sync.  It is safe to do that with a second Mac and the  Google Calendar as well. See the web site. It is a very neat tool which costs only US$ 25 p.a. for as many Calendars and Macs as necessary. The final step is exporting the information to the Nokia N95 (or any other model) using iSync from <strong>one</strong> of the Macs only.</p>
<p>With this setup all Macs and one mobile stay in sync. To be honest, I do not login to the Google Calendar at all. I can add/edit/remove appointments in iCal on one Mac, and after syncing the same information is available on the other Mac as well. Google Calendar is only used as an easy way to automatically transfer the data.</p>
]]></content:encoded>
			<wfw:commentRss>http://sysconfig.ossafe.org/2008/04/syncing-calendars/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
