<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>James W. Hanlon</title><link>https://jameswhanlon.com/</link><description/><atom:link href="https://jameswhanlon.com/reeds/rss.xml" rel="self"/><lastBuildDate>Mon, 26 Aug 2024 00:00:00 +0200</lastBuildDate><item><title>Personal data and self hosting</title><link>https://jameswhanlon.com/personal-data-and-self-hosting.html</link><description>&lt;p&gt;Details of how I how self host services to maintain a degree of
digital privacy and&amp;nbsp;freedom.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">James W. Hanlon</dc:creator><pubDate>Mon, 26 Aug 2024 00:00:00 +0200</pubDate><guid>tag:jameswhanlon.com,2024-08-26:/personal-data-and-self-hosting.html</guid><category>Perspectives</category><category>self-hosted</category></item><item><title>Discrete-event simulation</title><link>https://jameswhanlon.com/discrete-event-simulation.html</link><description>&lt;p&gt;How to build a simple discrete-event simulation with an example in&amp;nbsp;Rust&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">James W. Hanlon</dc:creator><pubDate>Wed, 14 Aug 2024 00:00:00 +0200</pubDate><guid>tag:jameswhanlon.com,2024-08-14:/discrete-event-simulation.html</guid><category>Computing and Silicon</category><category>computing</category></item><item><title>Review of heat pump use and performance</title><link>https://jameswhanlon.com/review-of-heat-pump-use-and-performance.html</link><description>&lt;p&gt;A review of one year&amp;#8217;s worth of data from my home heat&amp;nbsp;pump.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">James W. Hanlon</dc:creator><pubDate>Wed, 31 Jul 2024 00:00:00 +0200</pubDate><guid>tag:jameswhanlon.com,2024-07-31:/review-of-heat-pump-use-and-performance.html</guid><category>Home and Sustainability</category><category>sustainability</category></item><item><title>Silicon infrastructure</title><link>https://jameswhanlon.com/silicon-infrastructure.html</link><description>&lt;p&gt;Thoughts on the requirements of software infrastructure
to support chip&amp;nbsp;design.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">James W. Hanlon</dc:creator><pubDate>Wed, 02 Aug 2023 00:00:00 +0200</pubDate><guid>tag:jameswhanlon.com,2023-08-02:/silicon-infrastructure.html</guid><category>Computing and Silicon</category><category>computing</category><category>microelectronics</category><category>verilog</category></item><item><title>Building a Python processor</title><link>https://jameswhanlon.com/building-a-python-processor.html</link><description>&lt;p&gt;A rationale and strawman for a processor to accelerate
dynamic-language&amp;nbsp;workloads.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">James W. Hanlon</dc:creator><pubDate>Tue, 27 Jun 2023 00:00:00 +0200</pubDate><guid>tag:jameswhanlon.com,2023-06-27:/building-a-python-processor.html</guid><category>Computing and Silicon</category><category>computing</category><category>computer-architecture</category></item><item><title>Cornish Unit House retrofit insulation</title><link>https://jameswhanlon.com/cornish-unit-house-retrofit-insulation.html</link><description>&lt;p&gt;Retrofitting insulation in a timber-framed top&amp;nbsp;floor.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">James W. Hanlon</dc:creator><pubDate>Thu, 29 Dec 2022 00:00:00 +0100</pubDate><guid>tag:jameswhanlon.com,2022-12-29:/cornish-unit-house-retrofit-insulation.html</guid><category>Home and Sustainability</category><category>energy-efficiency</category><category>retrofit</category><category>sustainability</category></item><item><title>From logic gates to a programming language using the Hex architecture</title><link>https://jameswhanlon.com/from-logic-gates-to-a-programming-language-using-the-hex-architecture.html</link><description>&lt;p&gt;A hardware implementation of a Hex processor with some basic tooling,
including a complete compiler for a simple programming&amp;nbsp;language.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">James W. Hanlon</dc:creator><pubDate>Fri, 18 Nov 2022 00:00:00 +0100</pubDate><guid>tag:jameswhanlon.com,2022-11-18:/from-logic-gates-to-a-programming-language-using-the-hex-architecture.html</guid><category>Computing and Silicon</category><category>computing</category><category>computer-architecture</category><category>microelectronics</category></item><item><title>Seeding parallel xoroshiro128+ generators</title><link>https://jameswhanlon.com/seeding-parallel-xoroshiro128-generators.html</link><description>&lt;p&gt;Choosing seeds for parallel xoroshiro128+ generators using fixed
offsets produces correlated&amp;nbsp;outputs.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">James W. Hanlon</dc:creator><pubDate>Sat, 01 Oct 2022 00:00:00 +0200</pubDate><guid>tag:jameswhanlon.com,2022-10-01:/seeding-parallel-xoroshiro128-generators.html</guid><category>Computing and Silicon</category><category>computing</category><category>PRNGs</category></item><item><title>The hardware pseudorandom number generator of the Graphcore IPU</title><link>https://jameswhanlon.com/the-hardware-pseudorandom-number-generator-of-the-graphcore-ipu.html</link><description>&lt;p&gt;A short summary of an investigation into the statisitical quality and
implementation cost in hardware of the xoroshiro128aox &lt;span class="caps"&gt;PRNG&lt;/span&gt;.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">James W. Hanlon</dc:creator><pubDate>Wed, 21 Sep 2022 00:00:00 +0200</pubDate><guid>tag:jameswhanlon.com,2022-09-21:/the-hardware-pseudorandom-number-generator-of-the-graphcore-ipu.html</guid><category>Computing and Silicon</category><category>computing</category><category>PRNGs</category></item><item><title>Garden workshop</title><link>https://jameswhanlon.com/garden-workshop.html</link><description>&lt;p&gt;Design and construction of a office and&amp;nbsp;workshop.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">James W. Hanlon</dc:creator><pubDate>Mon, 04 Oct 2021 00:00:00 +0200</pubDate><guid>tag:jameswhanlon.com,2021-10-04:/garden-workshop.html</guid><category>Physical Projects</category><category>sheds</category><category>construction</category></item><item><title>Home thermal-imaging survey</title><link>https://jameswhanlon.com/home-thermal-imaging-survey.html</link><description>&lt;p&gt;Investigation of thermal faults using a thermal-imaging&amp;nbsp;camera.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">James W. Hanlon</dc:creator><pubDate>Wed, 31 Mar 2021 00:00:00 +0200</pubDate><guid>tag:jameswhanlon.com,2021-03-31:/home-thermal-imaging-survey.html</guid><category>Home and Sustainability</category><category>energy-efficiency</category><category>retrofit</category><category>sustainability</category></item><item><title>Reflections on the state of nature</title><link>https://jameswhanlon.com/reflections-on-the-state-of-nature.html</link><description>&lt;p&gt;A review of human impacts on nature as a way to reflect and navigate
environmental bad&amp;nbsp;news.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">James W. Hanlon</dc:creator><pubDate>Fri, 04 Dec 2020 00:00:00 +0100</pubDate><guid>tag:jameswhanlon.com,2020-12-04:/reflections-on-the-state-of-nature.html</guid><category>Perspectives</category><category>climate-change</category><category>sustainability</category></item><item><title>Error-correcting codes</title><link>https://jameswhanlon.com/error-correcting-codes.html</link><description>&lt;p&gt;Using Hamming Codes for single error correction and double error&amp;nbsp;detection.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">James W. Hanlon</dc:creator><pubDate>Sat, 02 May 2020 00:00:00 +0200</pubDate><guid>tag:jameswhanlon.com,2020-05-02:/error-correcting-codes.html</guid><category>Computing and Silicon</category><category>computing</category></item><item><title>Recycled allotment shed</title><link>https://jameswhanlon.com/recycled-allotment-shed.html</link><description>&lt;p&gt;Low-cost construction of a shed out of reclaimed&amp;nbsp;materials.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">James W. Hanlon</dc:creator><pubDate>Sun, 10 Nov 2019 00:00:00 +0100</pubDate><guid>tag:jameswhanlon.com,2019-11-10:/recycled-allotment-shed.html</guid><category>Physical Projects</category><category>sheds</category><category>construction</category></item><item><title>New chips for machine intelligence</title><link>https://jameswhanlon.com/new-chips-for-machine-intelligence.html</link><description>&lt;p&gt;Details of new chips that have been built recently to accelerate
machine intelligence&amp;nbsp;workloads.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">James W. Hanlon</dc:creator><pubDate>Fri, 04 Oct 2019 00:00:00 +0200</pubDate><guid>tag:jameswhanlon.com,2019-10-04:/new-chips-for-machine-intelligence.html</guid><category>Computing and Silicon</category><category>computing</category><category>machine-intelligence</category><category>computer-architecture</category></item><item><title>Testing silicon logic with scan structures</title><link>https://jameswhanlon.com/testing-silicon-logic-with-scan-structures.html</link><description>&lt;p&gt;A description of how digital circuits are modified to allow scan
testing to be&amp;nbsp;performed.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">James W. Hanlon</dc:creator><pubDate>Thu, 18 Apr 2019 00:00:00 +0200</pubDate><guid>tag:jameswhanlon.com,2019-04-18:/testing-silicon-logic-with-scan-structures.html</guid><category>Computing and Silicon</category><category>microelectronics</category></item><item><title>RGB lightbox stacks</title><link>https://jameswhanlon.com/rgb-lightbox-stacks.html</link><description>&lt;p&gt;Experimental lighting using high-power LEDs in generous volumes and
behind translucent acrylic plastic to create big blocks of&amp;nbsp;colour.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">James W. Hanlon</dc:creator><pubDate>Mon, 31 Dec 2018 00:00:00 +0100</pubDate><guid>tag:jameswhanlon.com,2018-12-31:/rgb-lightbox-stacks.html</guid><category>Physical Projects</category><category>lighting</category><category>electronics</category></item><item><title>Three-channel high-power LED driver</title><link>https://jameswhanlon.com/three-channel-high-power-led-driver.html</link><description>&lt;p&gt;An &lt;span class="caps"&gt;LED&lt;/span&gt; driver module controlled by a &lt;span class="caps"&gt;PIC12F1572&lt;/span&gt; and with &lt;span class="caps"&gt;CAT4101&lt;/span&gt;
drivers, deployable in an array via a &lt;span class="caps"&gt;RS485&lt;/span&gt;&amp;nbsp;interface.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">James W. Hanlon</dc:creator><pubDate>Sun, 30 Dec 2018 00:00:00 +0100</pubDate><guid>tag:jameswhanlon.com,2018-12-30:/three-channel-high-power-led-driver.html</guid><category>Physical Projects</category><category>lighting</category><category>electronics</category></item><item><title>Querying logical paths in a Verilog design</title><link>https://jameswhanlon.com/querying-logical-paths-in-a-verilog-design.html</link><description>&lt;p&gt;A description of a command-line tool I created for tracing timing
paths from a flattened netlist back through the &lt;span class="caps"&gt;RTL&lt;/span&gt;.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">James W. Hanlon</dc:creator><pubDate>Tue, 20 Nov 2018 00:00:00 +0100</pubDate><guid>tag:jameswhanlon.com,2018-11-20:/querying-logical-paths-in-a-verilog-design.html</guid><category>Computing and Silicon</category><category>computing</category><category>microelectronics</category><category>verilog</category></item><item><title>Retrofit shed insulation</title><link>https://jameswhanlon.com/retrofit-shed-insulation.html</link><description>&lt;p&gt;Retrofitting an existing shed/workshop with insulation to improve its
energy efficiency and make it a usable space throughout the&amp;nbsp;year.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">James W. Hanlon</dc:creator><pubDate>Sun, 30 Sep 2018 00:00:00 +0200</pubDate><guid>tag:jameswhanlon.com,2018-09-30:/retrofit-shed-insulation.html</guid><category>Home and Sustainability</category><category>energy-efficiency</category><category>retrofit</category><category>sheds</category><category>sustainability</category></item><item><title>Vim command composition</title><link>https://jameswhanlon.com/vim-command-composition.html</link><description>&lt;p&gt;The rules for composing Vim&amp;#8217;s motions and&amp;nbsp;operators.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">James W. Hanlon</dc:creator><pubDate>Thu, 23 Aug 2018 00:00:00 +0200</pubDate><guid>tag:jameswhanlon.com,2018-08-23:/vim-command-composition.html</guid><category>Perspectives</category><category>computing</category><category>vim</category></item><item><title>Writing synthesizable Verilog</title><link>https://jameswhanlon.com/writing-synthesizable-verilog.html</link><description>&lt;p&gt;Coding style for &lt;span class="caps"&gt;RTL&lt;/span&gt; design using Verilog / SystemVerilog. Updated&amp;nbsp;2024.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">James W. Hanlon</dc:creator><pubDate>Fri, 04 May 2018 00:00:00 +0200</pubDate><guid>tag:jameswhanlon.com,2018-05-04:/writing-synthesizable-verilog.html</guid><category>Computing and Silicon</category><category>computing</category><category>microelectronics</category><category>programming-languages</category><category>verilog</category></item><item><title>Notes on testing random number generators</title><link>https://jameswhanlon.com/notes-on-testing-random-number-generators.html</link><description>&lt;p&gt;Using empirical statistical tests to determine the quality of&amp;nbsp;PRNGs.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">James W. Hanlon</dc:creator><pubDate>Wed, 05 Apr 2017 00:00:00 +0200</pubDate><guid>tag:jameswhanlon.com,2017-04-05:/notes-on-testing-random-number-generators.html</guid><category>Computing and Silicon</category><category>computing</category><category>PRNGs</category></item><item><title>A convolutional neural network from scratch</title><link>https://jameswhanlon.com/a-convolutional-neural-network-from-scratch.html</link><description>&lt;p&gt;A C++ implementation of a convoluational neural network building on the
explanation in Michael Nielsen&amp;#8217;s book &amp;#8216;Neural Networks and Deep&amp;nbsp;Learning&amp;#8217;.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">James W. Hanlon</dc:creator><pubDate>Fri, 10 Feb 2017 00:00:00 +0100</pubDate><guid>tag:jameswhanlon.com,2017-02-10:/a-convolutional-neural-network-from-scratch.html</guid><category>Computing and Silicon</category><category>machine-intelligence</category></item><item><title>Reducing memory use in deep neural networks</title><link>https://jameswhanlon.com/reducing-memory-use-in-deep-neural-networks.html</link><description>&lt;p&gt;A review of state-of-the-art techniques&amp;nbsp;used.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">James W. Hanlon</dc:creator><pubDate>Sun, 05 Feb 2017 00:00:00 +0100</pubDate><guid>tag:jameswhanlon.com,2017-02-05:/reducing-memory-use-in-deep-neural-networks.html</guid><category>Computing and Silicon</category><category>computing</category><category>machine-intelligence</category></item><item><title>Machine learning challenges for computer architecture</title><link>https://jameswhanlon.com/machine-learning-challenges-for-computer-architecture.html</link><description>&lt;p&gt;Neural networks have become a hot topic in computing and their development is
progressing rapidly. They have a long history with some of the first …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">James W. Hanlon</dc:creator><pubDate>Fri, 04 Nov 2016 00:00:00 +0100</pubDate><guid>tag:jameswhanlon.com,2016-11-04:/machine-learning-challenges-for-computer-architecture.html</guid><category>Computing and Silicon</category><category>computing</category><category>computer-architecture</category><category>machine-intelligence</category></item><item><title>The XC Programming Language</title><link>https://jameswhanlon.com/the-xc-programming-language.html</link><description>&lt;p&gt;An overview of the key features of the language, many of which derive
from&amp;nbsp;occam.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">James W. Hanlon</dc:creator><pubDate>Sat, 13 Dec 2014 00:00:00 +0100</pubDate><guid>tag:jameswhanlon.com,2014-12-13:/the-xc-programming-language.html</guid><category>Computing and Silicon</category><category>computing</category><category>computer-architecture</category><category>programming-languages</category></item><item><title>The XMOS XMP-64</title><link>https://jameswhanlon.com/the-xmos-xmp-64.html</link><description>&lt;p&gt;The &lt;span class="caps"&gt;XMP&lt;/span&gt;-64 is an experimental single-board distributed-memory parallel computer
with 512 hardware threads  and is programmable with a C-like language.  It was
developed by …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">James W. Hanlon</dc:creator><pubDate>Thu, 04 Dec 2014 00:00:00 +0100</pubDate><guid>tag:jameswhanlon.com,2014-12-04:/the-xmos-xmp-64.html</guid><category>Computing and Silicon</category><category>computing</category><category>electronics</category></item><item><title>Scalable abstractions for general-purpose parallel computation</title><link>https://jameswhanlon.com/scalable-abstractions-for-general-purpose-parallel-computation.html</link><description>&lt;p&gt;An overview of my PhD&amp;nbsp;thesis.&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">James W. Hanlon</dc:creator><pubDate>Wed, 01 Oct 2014 00:00:00 +0200</pubDate><guid>tag:jameswhanlon.com,2014-10-01:/scalable-abstractions-for-general-purpose-parallel-computation.html</guid><category>Computing and Silicon</category><category>computing</category><category>computer-architecture</category></item></channel></rss>