<rss version="2.0">
 <channel>
  <title>Quozl's Open Source</title>
   <description>Quozl works in outback Australia as a software engineer doing internet firewall and operating system support for a large multinational computer company. When he's not doing that, he creates programs and electronic devices, takes photographs, and a few other things.</description>
<link>http://quozl.linux.org.au</link>
<copyright>(c) 2006 James Cameron</copyright>
<language>en</language>
<item>
 <title>Embedded.fm on Telescope</title>
 <description>


Quozl was interviewed on embedded.fm about working at a telescope:
&lt;p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href="http://embedded.fm/episodes/518"&gt;518: Nothing We Can Do About Frogs&lt;/a&gt;,&lt;/li&gt;
&lt;/ul&gt;

Errata:
&lt;p&gt;

&lt;ul&gt;
  &lt;li&gt;400 fibres is actually 200 targets per plate,&lt;/li&gt;
  &lt;li&gt;satellite solar panel glinting is in the south east before dawn,&lt;/li&gt;
  &lt;li&gt;OpenVMS was used in other roles, not the telescope control system,&lt;/li&gt;
&lt;/ul&gt;



</description>
 <link>http://quozl.linux.org.au/?id=1767830400</link>
 <pubDate>Thu, 08 Jan 2026 00:00:00 +0000</pubDate>
 <guid>http://quozl.linux.org.au/?id=1767830400</guid>
</item>
<item>
 <title>Fluke PTi120 Calibrating</title>
 <description>


Quozl found his Fluke PTi120 thermal imager would pause to calibrate every few seconds.  Often this got in the way of measurements.&lt;p&gt;

A fix was to use &lt;tt&gt;adb shell&lt;/tt&gt; to set boolean &lt;tt&gt;auto_shutter_switch&lt;/tt&gt; to &lt;tt&gt;false&lt;/tt&gt; in the file &lt;tt&gt;/data/data/com.guide.pocket.main.pocketmeasure/shared_prefs/com_guide_pocketmeasure_expert_settings.xml&lt;/tt&gt;, if necessary by adding it, and then rebooting.&lt;p&gt;

However, measurements after a while are affected by temperature changes and another recalibration will be needed; by rebooting as there's no user interface for the feature.&lt;p&gt;



</description>
 <link>http://quozl.linux.org.au/?id=1753142400</link>
 <pubDate>Tue, 22 Jul 2025 00:00:00 +0000</pubDate>
 <guid>http://quozl.linux.org.au/?id=1753142400</guid>
</item>
<item>
 <title>C Forth for PlatformIO</title>
 <description>


Quozl brought up C Forth on PlatformIO for these target boards;

&lt;ul&gt;
&lt;li&gt;Raspberry Pi Pico RP2040,&lt;/li&gt;
&lt;li&gt;Adafruit Feather M0,&lt;/li&gt;
&lt;li&gt;Teensy 3.1, 3.2, 3.5, 3.6, and 4.0,&lt;/li&gt;
&lt;li&gt;Espressif ESP32.&lt;/li&gt;
&lt;/ul&gt;

C Forth is a Forth language environment optimised for embedded use in
semi-constrained systems such as System-on-Chip processors.&lt;p&gt;

See &lt;a href="https://github.com/MitchBradley/cforth/"&gt;Mitch Bradley's C Forth repository on GitHub&lt;/a&gt;.&lt;p&gt;



</description>
 <link>http://quozl.linux.org.au/?id=1668816000</link>
 <pubDate>Sat, 19 Nov 2022 00:00:00 +0000</pubDate>
 <guid>http://quozl.linux.org.au/?id=1668816000</guid>
</item>
<item>
 <title>IP over serial on Raspberry Pi</title>
 <description>


How to set up IP over 3.3V serial between a Raspberry Pi and a host computer running Linux.
&lt;p&gt;

Prepare the host computer;
&lt;p&gt;

  &lt;ul&gt;
    &lt;li&gt;install the &lt;i&gt;ppp&lt;/i&gt; package&lt;br&gt;
      &lt;pre&gt;sudo apt install --yes ppp&lt;/pre&gt;&lt;/li&gt;
    &lt;li&gt;attach a USB to 3.3V serial adapter to the appropriate GPIO pins, and plug it in to the computer,&lt;/li&gt;
    &lt;li&gt;identify the device, let's assume it appears as &lt;tt&gt;/dev/ttyUSB0&lt;/tt&gt;,&lt;/li&gt;
    &lt;li&gt;run as root&lt;br&gt;
      &lt;pre&gt;pppd nodetach debug noauth nocrtscts local passive /dev/ttyUSB0 115200 lcp-max-configure 10000&lt;/pre&gt;&lt;br&gt;(this will repeatedly try to establish a connection, because the LCP configure-request transmission count is set very high).&lt;/li&gt;
  &lt;/ul&gt;

Prepare the Raspberry Pi;
&lt;p&gt;

  &lt;ul&gt;
    &lt;li&gt;install the &lt;i&gt;ppp&lt;/i&gt; package&lt;br&gt;
      &lt;pre&gt;sudo apt install --yes ppp&lt;/pre&gt;&lt;/li&gt;
    &lt;li&gt;add two lines to &lt;tt&gt;/etc/rc.local&lt;/tt&gt; before the &lt;i&gt;exit&lt;/i&gt;&lt;br&gt;
      &lt;pre&gt;systemctl stop serial-getty@ttyAMA0.service
pppd updetach debug nocrtscts noauth local 10.1.0.1:10.1.0.2 /dev/ttyAMA0 115200&lt;/pre&gt;&lt;/li&gt;
    &lt;li&gt;reboot&lt;/li&gt;
  &lt;/ul&gt;

The link will be established, and you can ping or SSH to 10.1.0.1.&lt;p&gt;

Use different addresses if required.&lt;p&gt;

What it looks like on the host computer
&lt;p&gt;

  &lt;pre&gt;
using channel 9
Using interface ppp0
Connect: ppp0 &lt;--&gt; /dev/ttyUSB0
sent [LCP ConfReq id=0x1 &lt;asyncmap 0x0&gt; &lt;magic 0x25b9b80a&gt; &lt;pcomp&gt; &lt;accomp&gt;]
sent [LCP ConfReq id=0x1 &lt;asyncmap 0x0&gt; &lt;magic 0x25b9b80a&gt; &lt;pcomp&gt; &lt;accomp&gt;]
sent [LCP ConfReq id=0x1 &lt;asyncmap 0x0&gt; &lt;magic 0x25b9b80a&gt; &lt;pcomp&gt; &lt;accomp&gt;]
sent [LCP ConfReq id=0x1 &lt;asyncmap 0x0&gt; &lt;magic 0x25b9b80a&gt; &lt;pcomp&gt; &lt;accomp&gt;]
sent [LCP ConfReq id=0x1 &lt;asyncmap 0x0&gt; &lt;magic 0x25b9b80a&gt; &lt;pcomp&gt; &lt;accomp&gt;]
sent [LCP ConfReq id=0x1 &lt;asyncmap 0x0&gt; &lt;magic 0x25b9b80a&gt; &lt;pcomp&gt; &lt;accomp&gt;]
sent [LCP ConfReq id=0x1 &lt;asyncmap 0x0&gt; &lt;magic 0x25b9b80a&gt; &lt;pcomp&gt; &lt;accomp&gt;]
sent [LCP ConfReq id=0x1 &lt;asyncmap 0x0&gt; &lt;magic 0x25b9b80a&gt; &lt;pcomp&gt; &lt;accomp&gt;]
sent [LCP ConfReq id=0x1 &lt;asyncmap 0x0&gt; &lt;magic 0x25b9b80a&gt; &lt;pcomp&gt; &lt;accomp&gt;]
sent [LCP ConfReq id=0x1 &lt;asyncmap 0x0&gt; &lt;magic 0x25b9b80a&gt; &lt;pcomp&gt; &lt;accomp&gt;]
sent [LCP ConfReq id=0x1 &lt;asyncmap 0x0&gt; &lt;magic 0x25b9b80a&gt; &lt;pcomp&gt; &lt;accomp&gt;]
sent [LCP ConfReq id=0x1 &lt;asyncmap 0x0&gt; &lt;magic 0x25b9b80a&gt; &lt;pcomp&gt; &lt;accomp&gt;]
sent [LCP ConfReq id=0x1 &lt;asyncmap 0x0&gt; &lt;magic 0x25b9b80a&gt; &lt;pcomp&gt; &lt;accomp&gt;]
sent [LCP ConfReq id=0x1 &lt;asyncmap 0x0&gt; &lt;magic 0x25b9b80a&gt; &lt;pcomp&gt; &lt;accomp&gt;]
sent [LCP ConfReq id=0x1 &lt;asyncmap 0x0&gt; &lt;magic 0x25b9b80a&gt; &lt;pcomp&gt; &lt;accomp&gt;]
sent [LCP ConfReq id=0x1 &lt;asyncmap 0x0&gt; &lt;magic 0x25b9b80a&gt; &lt;pcomp&gt; &lt;accomp&gt;]
rcvd [LCP ConfReq id=0x1 &lt;asyncmap 0x0&gt; &lt;magic 0xa67760f&gt; &lt;pcomp&gt; &lt;accomp&gt;]
sent [LCP ConfAck id=0x1 &lt;asyncmap 0x0&gt; &lt;magic 0xa67760f&gt; &lt;pcomp&gt; &lt;accomp&gt;]
rcvd [LCP ConfAck id=0x1 &lt;asyncmap 0x0&gt; &lt;magic 0x25b9b80a&gt; &lt;pcomp&gt; &lt;accomp&gt;]
sent [LCP EchoReq id=0x0 magic=0x25b9b80a]
sent [CCP ConfReq id=0x1 &lt;deflate 15&gt; &lt;deflate(old#) 15&gt; &lt;bsd v1 15&gt;]
sent [IPCP ConfReq id=0x1 &lt;compress VJ 0f 01&gt; &lt;addr 0.0.0.0&gt;]
rcvd [LCP ConfAck id=0x1 &lt;asyncmap 0x0&gt; &lt;magic 0x25b9b80a&gt; &lt;pcomp&gt; &lt;accomp&gt;]
rcvd [LCP ConfAck id=0x1 &lt;asyncmap 0x0&gt; &lt;magic 0x25b9b80a&gt; &lt;pcomp&gt; &lt;accomp&gt;]
rcvd [LCP ConfAck id=0x1 &lt;asyncmap 0x0&gt; &lt;magic 0x25b9b80a&gt; &lt;pcomp&gt; &lt;accomp&gt;]
rcvd [LCP ConfAck id=0x1 &lt;asyncmap 0x0&gt; &lt;magic 0x25b9b80a&gt; &lt;pcomp&gt; &lt;accomp&gt;]
rcvd [LCP ConfAck id=0x1 &lt;asyncmap 0x0&gt; &lt;magic 0x25b9b80a&gt; &lt;pcomp&gt; &lt;accomp&gt;]
rcvd [LCP ConfAck id=0x1 &lt;asyncmap 0x0&gt; &lt;magic 0x25b9b80a&gt; &lt;pcomp&gt; &lt;accomp&gt;]
rcvd [LCP ConfAck id=0x1 &lt;asyncmap 0x0&gt; &lt;magic 0x25b9b80a&gt; &lt;pcomp&gt; &lt;accomp&gt;]
rcvd [LCP ConfAck id=0x1 &lt;asyncmap 0x0&gt; &lt;magic 0x25b9b80a&gt; &lt;pcomp&gt; &lt;accomp&gt;]
rcvd [LCP EchoReq id=0x0 magic=0xa67760f]
sent [LCP EchoRep id=0x0 magic=0x25b9b80a]
rcvd [CCP ConfReq id=0x1 &lt;deflate 15&gt; &lt;deflate(old#) 15&gt; &lt;bsd v1 15&gt;]
sent [CCP ConfAck id=0x1 &lt;deflate 15&gt; &lt;deflate(old#) 15&gt; &lt;bsd v1 15&gt;]
rcvd [IPCP ConfReq id=0x1 &lt;compress VJ 0f 01&gt; &lt;addr 10.1.0.1&gt;]
sent [IPCP ConfAck id=0x1 &lt;compress VJ 0f 01&gt; &lt;addr 10.1.0.1&gt;]
rcvd [LCP EchoRep id=0x0 magic=0xa67760f]
rcvd [CCP ConfAck id=0x1 &lt;deflate 15&gt; &lt;deflate(old#) 15&gt; &lt;bsd v1 15&gt;]
Deflate (15) compression enabled
rcvd [IPCP ConfNak id=0x1 &lt;addr 10.1.0.2&gt;]
sent [IPCP ConfReq id=0x2 &lt;compress VJ 0f 01&gt; &lt;addr 10.1.0.2&gt;]
rcvd [IPCP ConfAck id=0x2 &lt;compress VJ 0f 01&gt; &lt;addr 10.1.0.2&gt;]
local  IP address 10.1.0.2
remote IP address 10.1.0.1
Script /etc/ppp/ip-up started (pid 80399)
Script /etc/ppp/ip-up finished (pid 80399), status = 0x0
  &lt;/pre&gt;
  



</description>
 <link>http://quozl.linux.org.au/?id=1664064000</link>
 <pubDate>Sun, 25 Sep 2022 00:00:00 +0000</pubDate>
 <guid>http://quozl.linux.org.au/?id=1664064000</guid>
</item>
<item>
 <title>Fund Me</title>
 <description>


Hello.  Quozl is twiddling his fingers right now.
&lt;p&gt;

Do you need his help?  Quozl does engineering mentoring, product management, software and firmware engineering, code reviews, quality assurance, testing, and teaching.
&lt;p&gt;

Or would you like to conserve native regrowth forest?  Quozl helps manage a few million trees in outback Australia, and the project could do with some funding.
&lt;p&gt;

Contact quozl at laptop dot org.  Thanks!
&lt;p&gt;



</description>
 <link>http://quozl.linux.org.au/?id=1650153600</link>
 <pubDate>Sun, 17 Apr 2022 00:00:00 +0000</pubDate>
 <guid>http://quozl.linux.org.au/?id=1650153600</guid>
</item>
<item>
 <title>C Forth build flow</title>
 <description>


Deep dive into how C Forth is built gave this graph.&lt;p&gt;

&lt;img src="cforth-build.svg"&gt;&lt;p&gt;

And this is just one target that C Forth supports; the target for a host-based serial device test harness.&lt;p&gt;



</description>
 <link>http://quozl.linux.org.au/?id=1647043200</link>
 <pubDate>Sat, 12 Mar 2022 00:00:00 +0000</pubDate>
 <guid>http://quozl.linux.org.au/?id=1647043200</guid>
</item>
<item>
 <title>Hector Spectrograph</title>
 <description>


Quozl was a telescope night assistant during the recent commissioning of the new Hector multi-integral field instrument and spectrograph.  A really busy team of scientists and engineers working together to make research happen.  It was fun watching them work.  Inputs included tea, coffee, muffins, tim-tams, pavlova, and occasional sleep.  Outputs were C++, Python, electronics, and data.

&lt;ul&gt;
  &lt;li&gt;&lt;a href="https://arxiv.org/pdf/1608.03921.pdf"&gt;Hector - a new massively multiplexed IFS instrument for the Anglo-Australian Telescope&lt;/a&gt;,
  &lt;li&gt;&lt;a href="https://hector.datacentral.org.au/instrument/overview"&gt;Hector Wiki at Data Central&lt;/a&gt;,
  &lt;li&gt;&lt;a href="https://aat.anu.edu.au/technology/new-instruments/hector"&gt;Telescope instrument page&lt;/a&gt;.
&lt;/ul&gt;



</description>
 <link>http://quozl.linux.org.au/?id=1639008000</link>
 <pubDate>Thu, 09 Dec 2021 00:00:00 +0000</pubDate>
 <guid>http://quozl.linux.org.au/?id=1639008000</guid>
</item>
<item>
 <title>Netrek - Vanilla 2.19.0 released</title>
 <description>


New version of the &lt;a href="http://vanilla.netrek.org"&gt;Netrek Vanilla
Server&lt;/a&gt;, with many changes.&lt;p&gt;

&lt;ul&gt;&lt;li&gt;&lt;a href=http://quozl.linux.org.au/netrek/&gt;more information, sources, packages&lt;/a&gt;&lt;/ul&gt;


</description>
 <link>http://quozl.linux.org.au/?id=1480982400</link>
 <pubDate>Tue, 06 Dec 2016 00:00:00 +0000</pubDate>
 <guid>http://quozl.linux.org.au/?id=1480982400</guid>
</item>
<item>
 <title>Embedded.fm on Forth</title>
 <description>


Quozl was interviewed on embedded.fm about the Forth language:
&lt;p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://embedded.fm/episodes/172"&gt;172: Tell Forth You Me Please&lt;/a&gt; (1.25 hours, 53 MB),
&lt;li&gt;&lt;a href="cforth-milo-champions-band"&gt;Using C Forth to reverse engineer the Milo Champions Band fitness tracker protocol&lt;/a&gt;,
&lt;li&gt;&lt;a href="https://github.com/quozl/cforth-1"&gt;C Forth for ESP8266&lt;/a&gt;, a fork of &lt;a href="https://github.com/MitchBradley/cforth"&gt;C Forth by Mitch Bradley&lt;/a&gt;,
&lt;li&gt;&lt;a href="https://github.com/quozl/nodemcu-firmware"&gt;NodeMCU underlay for C Forth&lt;/a&gt;,
&lt;/ul&gt;



</description>
 <link>http://quozl.linux.org.au/?id=1476921600</link>
 <pubDate>Thu, 20 Oct 2016 00:00:00 +0000</pubDate>
 <guid>http://quozl.linux.org.au/?id=1476921600</guid>
</item>
<item>
 <title>C Forth for Teensy 3.1</title>
 <description>


Quozl brought up C Forth on the Teensy 3.1 module.  See &lt;a href="cforth-on-teensy/"&gt;all the details&lt;/a&gt;.&lt;p&gt;



</description>
 <link>http://quozl.linux.org.au/?id=1407715200</link>
 <pubDate>Mon, 11 Aug 2014 00:00:00 +0000</pubDate>
 <guid>http://quozl.linux.org.au/?id=1407715200</guid>
</item>
</channel>
</rss>
