<?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>Aeturnalus &#187; software</title>
	<atom:link href="http://aeturnalus.com/category/software/feed/" rel="self" type="application/rss+xml" />
	<link>http://aeturnalus.com</link>
	<description>Vita, Semper Eternus</description>
	<lastBuildDate>Fri, 02 Dec 2011 01:17:53 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Simple Arduino Robot Control</title>
		<link>http://aeturnalus.com/software/simple-arduino-robot-control/</link>
		<comments>http://aeturnalus.com/software/simple-arduino-robot-control/#comments</comments>
		<pubDate>Thu, 01 Dec 2011 03:32:37 +0000</pubDate>
		<dc:creator>Robert Ying</dc:creator>
				<category><![CDATA[Robotics]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://aeturnalus.com/?p=1313</guid>
		<description><![CDATA[One of the simplest bits of functionality that is useful for small-scale robotics is the ability to control robots over the serial port, which can easily be made wireless using Pololu Wixels, XBee, bluetooth, or any other wireless serial connection. &#8230; <a href="http://aeturnalus.com/software/simple-arduino-robot-control/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>One of the simplest bits of functionality that is useful for small-scale robotics is the ability to control robots over the serial port, which can easily be made wireless using Pololu Wixels, XBee, bluetooth, or any other wireless serial connection. Since the Arduino Serial Monitor only sends out messages rather slowly, and it&#8217;s usually nice to have a fast response from computer to robot, I wrote a short Java application that handles the communication for you.</p>
<p>Download here:</p>
<blockquote><p><a href='http://aeturnalus.com/wp/wp-content/uploads/2011/11/robotcontrol.tar.gz'>Robot Controller</a><br />
Source code is released into the public domain, but if you use it, I&#8217;d appreciate it if you cite me somewhere (Robert Ying).</p></blockquote>
<p>You&#8217;ll also need to have the appropriate rxtx native library in the same folder as the jar file when running it&mdash;you can download that <a href="http://rxtx.qbang.org/wiki/index.php/Download">here</a></p>
<p>Corresponding Arduino Code:</p>
<pre lang="c++">
void setup() {
  Serial.begin(115200);
}

// method that sets motor speeds from -255 to 255
// corresponding to full reverse and full forward
void setLeftMotor(int speed);
void setRightMotor(int speed);

byte nextByte() {
  unsigned long start = millis();
  while (millis() - start < 100) {
    if (Serial.available()) {
      return Serial.read();
    }
  }
  return 0x00;
]

void loop() {
  while (Serial.available()) {
    switch(Serial.read()) {
      case 0xC1: setLeftMotor(2 * nextByte()); break;
      case 0xC2: setLeftMotor(-2 * nextByte()); break;
      case 0xC5: setRightMotor(2 * nextByte()); break;
      case 0xC6: setRightMotor(-2 * nextByte()); break;
      default: setLeftMotor(0); setRightMotor(0); break;
    }
  }
}
</pre>
<!-- PHP 5.x -->]]></content:encoded>
			<wfw:commentRss>http://aeturnalus.com/software/simple-arduino-robot-control/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Arduino Quine</title>
		<link>http://aeturnalus.com/software/arduino-quine/</link>
		<comments>http://aeturnalus.com/software/arduino-quine/#comments</comments>
		<pubDate>Sat, 21 May 2011 15:34:38 +0000</pubDate>
		<dc:creator>Robert Ying</dc:creator>
				<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://aeturnalus.com/?p=1075</guid>
		<description><![CDATA[One of the things programmers tend to learn how to do in every language they know is how to write a quine &#8211; that is, a program that echoes its own source code out to the user, without reading the &#8230; <a href="http://aeturnalus.com/software/arduino-quine/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>One of the things programmers tend to learn how to do in every language they know is how to write a quine &#8211; that is, a program that echoes its own source code out to the user, without reading the source code directly.  This is an inherently recursive operation, so language-based tricks are needed to get it to work.</p>
<p>The Arduino is programmed in C++, however, there is no std::cout.  Instead, user input is usually through the USART on the Arduino, and as such needs to initialize and print out from that port.  </p>
<p>Traditionally, C/C++ quines are written using the preprocessor and the printf command, as it allows for simple replacement of strings with characters, thereby overcoming the recursive operation.  As such, I use the sprintf command below (Arduino&#8217;s HardwareSerial doesn&#8217;t support formatted prints, sadly enough).</p>
<p><span id="more-1075"></span></p>
<p>The quine below is for the Arduino Duemilanove or Uno (or any other, based on the ATMega328P microcontroller):</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
</pre></td><td class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #339900;">#define d &quot;\\&quot;</span>
<span style="color: #339900;">#define e &quot;\r\n&quot;</span>
<span style="color: #339900;">#define b &quot;\&quot;&quot;</span>
<span style="color: #339900;">#define a &quot;%s#define d %s%s%s%s%s#define e %s%sr%sn%s%s#define b %s%s%s%s%s#define a %s%s%s%svoid setup()%s{%s  Serial.begin(115200);%s  DDRB |= (1 &lt;&lt; 5);%s}%svoid loop()%s{%s  char buf[632];%s  sprintf(buf,a,e,b,d,d,b,e,b,d,d,b,e,b,d,b,b,e,b,a,b,e,e,e,e,e,e,e,e,e,e,e);%s  Serial.println(buf);%s  PORTB ^= (1 &lt;&lt; 5);%s  delay(1000);%s}&quot;</span>
<span style="color: #0000ff;">void</span> setup<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
  Serial.<span style="color: #007788;">begin</span><span style="color: #008000;">&#40;</span><span style="color: #0000dd;">115200</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
  DDRB <span style="color: #000040;">|</span><span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span><span style="color: #0000dd;">1</span> <span style="color: #000080;">&lt;&lt;</span> <span style="color: #0000dd;">5</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">void</span> loop<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
  <span style="color: #0000ff;">char</span> buf<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">632</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
  <span style="color: #0000dd;">sprintf</span><span style="color: #008000;">&#40;</span>buf,a,e,b,d,d,b,e,b,d,d,b,e,b,d,b,b,e,b,a,b,e,e,e,e,e,e,e,e,e,e,e,e,e<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
  Serial.<span style="color: #007788;">println</span><span style="color: #008000;">&#40;</span>buf<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
  PORTB <span style="color: #000040;">^</span><span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span><span style="color: #0000dd;">1</span> <span style="color: #000080;">&lt;&lt;</span> <span style="color: #0000dd;">5</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
  delay<span style="color: #008000;">&#40;</span><span style="color: #0000dd;">1000</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></td></tr></table></div>

<p>For the Arduino Mega, the port access statements that define the LED pin need to be changed to PB7 instead of PB5:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
</pre></td><td class="code"><pre class="cpp" style="font-family:monospace;"><span style="color: #339900;">#define d &quot;\\&quot;</span>
<span style="color: #339900;">#define e &quot;\r\n&quot;</span>
<span style="color: #339900;">#define b &quot;\&quot;&quot;</span>
<span style="color: #339900;">#define a &quot;%s#define d %s%s%s%s%s#define e %s%sr%sn%s%s#define b %s%s%s%s%s#define a %s%s%s%svoid setup()%s{%s  Serial.begin(115200);%s  DDRB |= (1 &lt;&lt; 7);%s}%svoid loop()%s{%s  char buf[632];%s  sprintf(buf,a,e,b,d,d,b,e,b,d,d,b,e,b,d,b,b,e,b,a,b,e,e,e,e,e,e,e,e,e,e,e);%s  Serial.println(buf);%s  PORTB ^= (1 &lt;&lt; 7);%s  delay(1000);%s}&quot;</span>
<span style="color: #0000ff;">void</span> setup<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
  Serial.<span style="color: #007788;">begin</span><span style="color: #008000;">&#40;</span><span style="color: #0000dd;">115200</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
  DDRB <span style="color: #000040;">|</span><span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span><span style="color: #0000dd;">1</span> <span style="color: #000080;">&lt;&lt;</span> <span style="color: #0000dd;">7</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0000ff;">void</span> loop<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
  <span style="color: #0000ff;">char</span> buf<span style="color: #008000;">&#91;</span><span style="color: #0000dd;">632</span><span style="color: #008000;">&#93;</span><span style="color: #008080;">;</span>
  <span style="color: #0000dd;">sprintf</span><span style="color: #008000;">&#40;</span>buf,a,e,b,d,d,b,e,b,d,d,b,e,b,d,b,b,e,b,a,b,e,e,e,e,e,e,e,e,e,e,e,e,e<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
  Serial.<span style="color: #007788;">println</span><span style="color: #008000;">&#40;</span>buf<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
  PORTB <span style="color: #000040;">^</span><span style="color: #000080;">=</span> <span style="color: #008000;">&#40;</span><span style="color: #0000dd;">1</span> <span style="color: #000080;">&lt;&lt;</span> <span style="color: #0000dd;">7</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
  delay<span style="color: #008000;">&#40;</span><span style="color: #0000dd;">1000</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
<span style="color: #008000;">&#125;</span></pre></td></tr></table></div>

<!-- PHP 5.x -->]]></content:encoded>
			<wfw:commentRss>http://aeturnalus.com/software/arduino-quine/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FlexLab</title>
		<link>http://aeturnalus.com/school/flexlab/</link>
		<comments>http://aeturnalus.com/school/flexlab/#comments</comments>
		<pubDate>Fri, 03 Sep 2010 15:57:37 +0000</pubDate>
		<dc:creator>Robert Ying</dc:creator>
				<category><![CDATA[School]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://aeturnalus.com/?p=908</guid>
		<description><![CDATA[I&#8217;m playing with the FlexLab right now&#8230; it could use a decent amount of improvement. It appears to be some version of a reshelled VNC client-server paradigm. It has the same, annoying lag &#8211; maybe 100ms, minimum. Seems totally overrated &#8230; <a href="http://aeturnalus.com/school/flexlab/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m playing with the FlexLab right now&#8230;  it could use a decent amount of improvement.  It appears to be some version of a reshelled VNC client-server paradigm.  It has the same, annoying lag &#8211; maybe 100ms, minimum.   Seems totally overrated &#8211; horrible interface and latency problems.  It also doesn&#8217;t have any resolution to speak of: 800x600px &#8211; I don&#8217;t know what they&#8217;re doing.  </p>
<!-- PHP 5.x -->]]></content:encoded>
			<wfw:commentRss>http://aeturnalus.com/school/flexlab/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>robo.hack</title>
		<link>http://aeturnalus.com/software/robo-hack/</link>
		<comments>http://aeturnalus.com/software/robo-hack/#comments</comments>
		<pubDate>Sat, 05 Jun 2010 01:05:20 +0000</pubDate>
		<dc:creator>Robert Ying</dc:creator>
				<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://aeturnalus.com/?p=845</guid>
		<description><![CDATA[The game robo.hack is the result of the last month&#8217;s worth of coding by myself, Karthik Viswanthan, and Virup Gubba. It is based on nethack, and should be relatively easy to learn. System Requirements The following are required for installation: &#8230; <a href="http://aeturnalus.com/software/robo-hack/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>The game robo.hack is the result of the last month&#8217;s worth of coding by myself, Karthik Viswanthan, and Virup Gubba.  It is based on nethack, and should be relatively easy to learn.</p>
<p><strong>System  Requirements</strong></p>
<p>The following are required for installation:</p>
<ul>
<li>Java Runtime Environment Version 1.60+</li>
<li>Minimum of 2 MB space for game itself and about 100 MB including JDK</li>
<li>Preferred 200 MB</li>
</ul>
<p><strong>Installation  Instructions</strong></p>
<p>Robo.hack can be run by clicking on the executable jar file with the  aforementioned system requirements.</p>
<p><strong>How to Play</strong></p>
<p>Robo.hack’s controls are completely outlined on the title screen. Use the arrow keys  to move and the q, w, e, a, s, d, z, and c to attack (eight different  directions means eight keys, centered at s). The inventory and player status can be toggled using the ‘i’ and ‘p’ keys respectively. Once toggled, the  up/down arrow buttons should be pressed to target the correct item or skill.  Subsequently, hit enter to either add a skill point or use an item. To untoggle, use  the escape or delete key, or press the enable key again.</p>
<p><img src="http://aeturnalus.com/wp/wp-content/uploads/2010/06/image001-300x185.png" alt="" title="Title Screen" width="300" height="185" class="alignnone size-medium wp-image-846" /></p>
<p>Following the title screen, the player will be prompted for a profession. Pick the  one of your choice by hitting the respective key.</p>
<p><img src="http://aeturnalus.com/wp/wp-content/uploads/2010/06/image002-300x221.jpg" alt="" title="Profession Picker" width="300" height="221" class="alignnone size-medium wp-image-847" /></p>
<p>Now just explore throughout the world and try to beat all the levels.  Monsters will attack you on the way. They will drop various items and weapons for you  to use on your journey. As you continue to fight, you’ll gain experience and  skill points, which you can use to power up your abilities. Think wisely. Play wisely. Good luck!</p>
<p><img src="http://aeturnalus.com/wp/wp-content/uploads/2010/06/image003-300x251.jpg" alt="" title="Main Game" width="300" height="251" class="alignnone size-medium wp-image-848" /></p>
<p>Hopefully you won’t see this screen on your journey.</p>
<p><img src="http://aeturnalus.com/wp/wp-content/uploads/2010/06/image004-300x187.jpg" alt="" title="Game Over" width="300" height="187" class="alignnone size-medium wp-image-849" /></p>
<blockquote><p>
You can download the game here:<br />
<a href='http://aeturnalus.com/wp/wp-content/uploads/2010/06/robo.hack_.zip'>robo.hack.zip</a></p>
<p>robo.hack is released under the GPL v3, source available soon!
</p></blockquote>
<p>Leave any questions and/or comments below.</p>
<!-- PHP 5.x -->]]></content:encoded>
			<wfw:commentRss>http://aeturnalus.com/software/robo-hack/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>PHP Obfuscation</title>
		<link>http://aeturnalus.com/software/php-obfuscation/</link>
		<comments>http://aeturnalus.com/software/php-obfuscation/#comments</comments>
		<pubDate>Thu, 11 Feb 2010 01:10:58 +0000</pubDate>
		<dc:creator>Robert Ying</dc:creator>
				<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://aeturnalus.com/?p=609</guid>
		<description><![CDATA[If you&#8217;ve done any searching on the web for HTML templates, themes for (WordPress &#124;&#124; Joomla &#124;&#124; Drupal &#124;&#124; etc), and/or various scripts, you have most likely come upon the presence of obfuscated code. Obfuscation (and the result, obfuscated code) &#8230; <a href="http://aeturnalus.com/software/php-obfuscation/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><img src="http://pics.aeturnalus.com/albums/pics.aeturnalus.com/aeturnalus/obf.png" alt="obfuscated code" width="640" height="448" /><br />
<span id="more-609"></span><br />
If you&#8217;ve done any searching on the web for HTML templates, themes for (WordPress || Joomla || Drupal || etc), and/or various scripts, you have most likely come upon the presence of obfuscated code.  Obfuscation (and the result, obfuscated code) is basically non-human-readable code.  As an end-user (or close to it), one will not be able to tell how the code works, or what it does.  The practice of obfuscating code can be legitimate &#8211; if a developer wishes to make sure their links are not removed, for example.  However, in most cases, this obfuscated code is used to hid a short script that will make files on your webserver accessible to the writer, or other means of invasion.  If you ever see obfuscated code in a file, don&#8217;t use it &#8211; or decode it.</p>
<p>There are a few primary types of obfuscated PHP code, shown in examples below:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">    <span style="color: #339933;">&lt;</span> ?php <span style="color: #000088;">$o</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;encrypted text&quot;</span><span style="color: #339933;">;</span>eval<span style="color: #009900;">&#40;</span><span style="color: #990000;">base64_decode</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'rubbish'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>return<span style="color: #339933;">;</span><span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>


<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">    <span style="color: #339933;">&lt;</span> ?php <span style="color: #000088;">$_F</span><span style="color: #339933;">=</span><span style="color: #009900; font-weight: bold;">__FILE__</span><span style="color: #339933;">;</span><span style="color: #000088;">$_X</span><span style="color: #339933;">=</span><span style="color: #0000ff;">'encrypted text'</span><span style="color: #339933;">;</span>eval<span style="color: #009900;">&#40;</span><span style="color: #990000;">base64_decode</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'rubbish'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>


<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">    <span style="color: #339933;">&lt;</span> ?php <span style="color: #990000;">eval</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">gzinflate</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">base64_decode</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'rubbish'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>You can decode them all <a href="http://cyko.decodethe.net/">here</a>, just upload the file.</p>
<!-- PHP 5.x -->]]></content:encoded>
			<wfw:commentRss>http://aeturnalus.com/software/php-obfuscation/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Microsoft Office 2010</title>
		<link>http://aeturnalus.com/software/microsoft-office-2010/</link>
		<comments>http://aeturnalus.com/software/microsoft-office-2010/#comments</comments>
		<pubDate>Sun, 22 Nov 2009 22:18:13 +0000</pubDate>
		<dc:creator>Robert Ying</dc:creator>
				<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://aeturnalus.com/?p=586</guid>
		<description><![CDATA[For those of you who haven&#8217;t tried it, the beta of Microsoft Office 2010 is available for download. Go here to start the download. You probably want to download the 32-bit version, as it is more likely to work on &#8230; <a href="http://aeturnalus.com/software/microsoft-office-2010/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>For those of you who haven&#8217;t tried it, the beta of Microsoft Office 2010 is available for download.</p>
<p>Go <a href="http://www.microsoft.com/office/2010/en/download-office-professional-plus/default.aspx">here</a> to start the download.</p>
<p>You probably want to download the 32-bit version, as it is more likely to work on your computer.  The total download size is 684.84MB, so it will take a while to download.</p>
<p>While Microsoft will give you a key, here&#8217;s a few MAKs so you don&#8217;t have to do it.</p>
<ul>
<li>PYMDW-8DFY2-Y68BB-XHDGD-CT443</li>
<li>2PWHY-KT4X6-96PYW-XQR7V-HW2W9</li>
</ul>
<p>After you have installed Microsoft Office Professional Plus 2010 Beta, please follow these steps:</p>
<p>Step 1: Open Microsoft Word 2010 Beta and click on the “File” tab. This will take you to the Backstage view. Next click “Help” in the set of tabs on the left.</p>
<p>Step 2: Click “Change Product Key” on the right side of the screen.</p>
<p>Step 3: Enter the Multiple Activation Key (MAK) displayed above. Please check the box to activate automatically or restart the app to activate using the activation dialog box.</p>
<p>Step 4: That’s all you need to do. Entering the MAK key in Microsoft Word 2010 Beta automatically activates all the Office Professional Plus 2010 Beta applications. Click on the “File” tab to return to the Document view.</p>
<p>Source: www.amitbhawani.com</p>
<!-- PHP 5.x -->]]></content:encoded>
			<wfw:commentRss>http://aeturnalus.com/software/microsoft-office-2010/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Snarf-related updates</title>
		<link>http://aeturnalus.com/school/snarf-related-updates/</link>
		<comments>http://aeturnalus.com/school/snarf-related-updates/#comments</comments>
		<pubDate>Sat, 19 Sep 2009 05:24:11 +0000</pubDate>
		<dc:creator>Robert Ying</dc:creator>
				<category><![CDATA[School]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://aeturnalus.com/?p=570</guid>
		<description><![CDATA[So I realized pretty quickly that manually updating a snarf site is quite annoying. I suppose it isn&#8217;t so bad if you&#8217;re Mr. Peck, but I just wrote a short little PHP script to go and update it for me. &#8230; <a href="http://aeturnalus.com/school/snarf-related-updates/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>So I realized pretty quickly that manually updating a snarf site is quite annoying.  I suppose it isn&#8217;t so bad if you&#8217;re Mr. Peck, but I just wrote a short little PHP script to go and update it for me.</p>
<p>They are as follows:</p>
<p><a href="http://aeturnalus.com/snarf/snarf.php">snarf.php</a>  Downloads a snarf XML file from a server, opens it, and downloads all of the projects listed inside of it.  It then creates its own snarf.xml.  Variables are on the top of the code, to download, right-click and save as&#8230;</p>
<p><a href="http://aeturnalus.com/snarf/create_snarf.php">create_snarf.php</a>  Goes through a non-recursive filename search through a directory, then creates a snarf.xml for it.  It&#8217;s pretty easy to improve this one, but I never got around to it.  Things for the future:
<ul>
<li>Add recursion for folders</li>
<li>Add folder-based categories</li>
</ul>
<p><a href="http://aeturnalus.com/snarf/transfer.php">transfer.php</a>  This is the one that is both the simplest and the most time consuming.  It reads a given snarf file, and downloads the projects.  What took a <em>really</em> long time on this one was the &#8220;downloading&#8221; bit&#8230; It appears that PHP doesn&#8217;t have a built-in downloader that accepts inputs from my string&#8230; I just used wget in the end.  Note:  This will not maintain category structure while downloading, it all goes in &#8216;./&#8217;.</p>
<p>Currently, since Mr. Peck&#8217;s snarf isn&#8217;t back up yet, they are all coded to point at <code>www.aeturnalus.com/snarf/snarf.xml</code>.  When the district&#8217;s server port gets opened up, I&#8217;ll point it at <code>http://205.173.41.8/staff/peck_george/notemplate/apcssnarf/snarf.xml</code> to mirror the snarf with one click.</p>
<p>Comments?</p>
<!-- PHP 5.x -->]]></content:encoded>
			<wfw:commentRss>http://aeturnalus.com/school/snarf-related-updates/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Create your own font, update</title>
		<link>http://aeturnalus.com/software/create-your-own-font-update/</link>
		<comments>http://aeturnalus.com/software/create-your-own-font-update/#comments</comments>
		<pubDate>Sun, 30 Aug 2009 18:13:46 +0000</pubDate>
		<dc:creator>Robert Ying</dc:creator>
				<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://aeturnalus.com/?p=535</guid>
		<description><![CDATA[Since the previous website which created a personalized font is no longer available for free, I have found a new one. It works pretty much the same way: Go to the website, print out a template, scan the template back &#8230; <a href="http://aeturnalus.com/software/create-your-own-font-update/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.fontcapture.com/"><img class="alignleft" title="FontCapture" src="http://www.fontcapture.com/blog/wp-content/uploads/2009/08/intro_laptop.jpg" alt="" width="200" height="157" /></a>Since the previous website which created a personalized font is no longer available for free, I have found a new one.  It works pretty much the same way:  Go to the website, print out a template, scan the template back in, and download the new font file.  You can access it <a href="http://www.fontcapture.com/">here</a>.</p>
<p>Note to &#8220;Charlatan&#8221;:  Old posts are outdated.</p>
<!-- PHP 5.x -->]]></content:encoded>
			<wfw:commentRss>http://aeturnalus.com/software/create-your-own-font-update/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>VirtualGunExperiment 1.2</title>
		<link>http://aeturnalus.com/software/virtualgunexperiment-12/</link>
		<comments>http://aeturnalus.com/software/virtualgunexperiment-12/#comments</comments>
		<pubDate>Wed, 10 Jun 2009 20:45:33 +0000</pubDate>
		<dc:creator>Robert Ying</dc:creator>
				<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://aeturnalus.com/?p=492</guid>
		<description><![CDATA[Well&#8230; I&#8217;ve rethought the strategies of VGE, and have decided that the usage of RandomMovement is a problem. As such, I have completely removed it from the code. VirtualGunExperiment 1.2.0 Comments?]]></description>
			<content:encoded><![CDATA[<p>Well&#8230; I&#8217;ve rethought the strategies of VGE, and have decided that the usage of RandomMovement is a problem.  As such, I have completely removed it from the code.<br />
<img src="http://pics.aeturnalus.com/albums/pics.aeturnalus.com/aeturnalus/vgevcb.jpg" alt="" /><br />
<img src="http://pics.aeturnalus.com/albums/pics.aeturnalus.com/aeturnalus/vgevrv.jpg" alt="" /></p>
<p><a href="http://aeturnalus.com/wp/wp-content/uploads/2009/06/ryvirtualgunexperiment_120.jar">VirtualGunExperiment 1.2.0</a><br />
Comments?</p>
<!-- PHP 5.x -->]]></content:encoded>
			<wfw:commentRss>http://aeturnalus.com/software/virtualgunexperiment-12/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>FBLA Photos Page</title>
		<link>http://aeturnalus.com/school/fbla-photos-page/</link>
		<comments>http://aeturnalus.com/school/fbla-photos-page/#comments</comments>
		<pubDate>Sat, 23 May 2009 16:44:12 +0000</pubDate>
		<dc:creator>Robert Ying</dc:creator>
				<category><![CDATA[School]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[fbla]]></category>
		<category><![CDATA[website]]></category>

		<guid isPermaLink="false">http://aeturnalus.com/?p=448</guid>
		<description><![CDATA[Message to FBLA Tech Committee: PLEASE fix the photos page The pictures box covers the right sidebar, which I&#8217;m reasonably sure isn&#8217;t intentional. If it is, its a pretty bad design flaw &#8211; it looks like its broken. If you &#8230; <a href="http://aeturnalus.com/school/fbla-photos-page/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Message to FBLA Tech Committee:</p>
<h3>PLEASE fix the photos page</h3>
<p>The pictures box covers the right sidebar, which I&#8217;m reasonably sure isn&#8217;t intentional.  If it is, its a pretty bad design flaw &#8211; it <em>looks</em> like its broken.<br />
<a href="http://www.lhsfbla.com/main/photos/"><img src="http://pics.aeturnalus.com/albums/pics.aeturnalus.com/aeturnalus/brokenfblapics.jpg" alt="" /></a></p>
<p>If you absolutely need to have a huge box, at least use CSS and center it, so it looks like it&#8217;s using a variation of Lightbox.js.</p>
<p>Fixing the box should only take a few minutes of your valuable time.</p>
<h3>Members Page</h3>
<p><a href="http://www.lhsfbla.com/main/members"><img src="http://pics.aeturnalus.com/albums/pics.aeturnalus.com/aeturnalus/fblalastnamefail.jpg" alt="" /></a><br />
Err&#8230;  Please fix?  It can&#8217;t be <em>that</em> hard&#8230;  Most people don&#8217;t have 3 last names, you know?</p>
<h3>404 Errors</h3>
<p><a href="http://www.lhsfbla.com/main/about">About Page</a>, <a href="http://www.lhsfbla.com/main/fbla-officers">Officers page</a>, <a href="http://www.lhsfbla.com/main/nova">Nova Awards History</a>, <a href="http://www.lhsfbla.com/main/cords">Cords Information</a><br />
FIX!</p>
<p>The news page is a little skinny, perhaps make it wider for readability?<br />
Also, just as a check, the FBLA site runs a version of RT Replicant 2 with a different background, correct?</p>
<!-- PHP 5.x -->]]></content:encoded>
			<wfw:commentRss>http://aeturnalus.com/school/fbla-photos-page/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
Content-Type: text/html

<title> </title>

