The following is a comprehensive, chronological list of all articles published online.
NetHack: an illustrated guide to the Mazes of Menace 2022-12-28
A visual guide to NetHack, describing the stages of the game illustrated with AI generated imagery.
Effective altruism and living a net-positive life 2019-08-02
I describe how average individuals can impact the world in a positive way in all aspects of their living, all under a budget of 200 dollars a month. The net-positive lifestyle uses concepts of biocapacity, ecological accounting, and effective altruism.
IFC Coordinate Reference Systems and Revit 2019-05-21
BIM projects have to specify Coordinate Reference Systems and their relationship to surveyed points and project origins in order to reliably geolocate geometry. I describe how this works with IFC, and the current state of compatibility with Revit.
Point cloud mesh reconstruction with metaballs 2019-05-15
3D scanning results in a point cloud which often needs to be converted into a closed mesh surface. In this article I propose a new technique of mesh reconstruction using metaballs.
Robotic wire cutting toolpath generation with Blender 2019-05-06
Most toolpath generation focuses on minimising material wastage, tool wear, and robot movements. This article describes an alternative approach that uses the U/V direction of a surface, its edge loops, and edge rings, to intuitively describe a toolpath.
Photorealistic rendering with Radiance 2019-05-04
Radiance is rarely used for photorealistic rendering. This case study of rendering my living room demonstrates that it is possible to be both aesthetically believable and scientifically accurate.
Creating grass and plants in Radiance 2019-05-01
Radiance is seldom used for rendering detailed vegetation such as grass and plants. I introduce how to use common CG techniques to still achieve photorealistic grass in Radiance.
Ten Smiles, an Android app to remind you to smile 2019-04-26
Ten Smiles is a small, free, Android app that reminds you to smile 10 times each day. I wrote it for fun a few years ago.
How to bulk convert PDFs to DXF or DWG 2019-04-02
Inkscape and pstoedit can be used to convert between PDF, EPS, DXF, and DWG on the command line. This is very useful when bulk file conversions need to be done.
The ethical implications of OpenBIM 2019-03-25
OpenBIM is an initiative to promote the use of open data in the architecture, engineering and construction industry. I describe how using OpenBIM has positive ethical implications.
Free intervals sheet music 2019-03-21
Intervals are a fundamental concept in learning music. This free downloadable sheet music helps give examples and illustrates the relationships between notes.
Why Radiance needs a free 3D model repository 2019-03-17
The Radiance free 3D model repository is the world’s first photometrically accurate model repository, with a focus on both correctness and aesthetics. It is completely open-source and free to mirror and redistribute. You can download models as an OBJ, along with material and light definitions.
The five fundamental facets of ethical software 2019-03-15
Technology is increasingly trending towards proprietary forms, which have negative impacts on society. I describe the 5 fundamental ingredients to keep software honest, and prioritise people over profit.
How to create better IFC files with Revit
2019-03-12
This is an introduction to the fundamental concepts of IFC files and explains how to improve data exports from Autodesk Revit to IFC. Out of the box, Revit IFC support is very limited, but it can be mitigated using an open-source plugin and understanding these undocumented quirks.
A comparison between Radiance and other rendering engines 2019-03-06
This posts compares Radiance with modern rendering engines, such as Renderman and Autodesk Insight. Radiance is seen as the gold standard for light simulation, but more modern engines are becoming more physically based and claim photorealistic results at a fraction of the time. Why should we use one over the other?
How to composite Enscape animations with Blender 2019-02-25
Enscape provides real-time rendering with integration with BIM tools such as Revit, ArchiCAD, and Sketchup. However, it has a limited set of animation tools. Blender can be used to import Enscape camera animation keyframes and composite new animations on top of the Enscape flythrough.
A proposed Radiance Filesystem Hierarchy Standard 2019-02-17
The proposed Radiance Filesystem Hierarchy Standard (RFHS) is a proposed standard on how to organise files for 3D models, HDR textures, Radiance materials, IES lights, and so on in a Radiance project. This allows Radiance assets to be easily distributed and reused across different proejcts.
Using IfcOpenShell to parse IFC files with Python 2019-02-12
IFC is the ISO standard format for storing BIM data. IfcOpenShell allows you to use Python to query and parse IFC files to extract and analyse data. As there is no API documentation as of writing, these code examples give an introduction demo to how to read IFC files.
Free major and minor arpeggios for piano sheet music 2019-01-31
Download free piano sheet music for major and minor arpeggios for all keys. Includes fingering annotation and typeset in LaTeX, exported in PDF format.
Embed Peertube videos on your website 2019-01-19
Peertube videos can be embedded directly on your website using an iframe with no Javascript required. This short example demonstrates how. Peertube is a distributed peer-to-peer network of video sharing websites.
How to view BIM IFC files on Linux 2019-01-12
BIM IFC (Industry Foundation Classes) files can be viewed and parsed on Linux in a few ways. I describe how to open IFC files with FreeCAD, IfcPlusPlus, and IfcOpenShell.
How to install Blender and The GIMP on Android 2019-01-10
How to install and run Blender and the GIMP on Android phones using Gentoo Linux. This runs Blender and The GIMP as a native app with full desktop functionality. This also demonstrates two desktop environments: Fluxbox and E17 and shows running Midori as a browser.
Create 360 VR panoramas with Radiance 2019-01-05
How to use the Radiance rendering engine to render out different types of 360 panoramas for virtual reality. Create cube maps, equirectangular panoramas, sphere maps, fisheye views, and other environment maps.
Use macbethcal to calibrate textures 2018-12-30
Use macbethcal to calibrate image textures that are used in a Radiance render with a colour chart. This helps to make sure that they represent the true colours of the real-life object.
Free Buddhist vector logos 2018-12-29
I’ve created three free Buddhist related vector logos for any use. They are created using Inkscape, a free and open source vector graphics program.
Radiance specularity and roughness value examples 2018-12-27
Radiance specularity and roughness values are hard to measure without special equipment. This article describes measurement techniques and rules of thumb, along with benchmark images to understand specularity and roughness. These images help give an intuitive understanding of material properties.
Map of the Great North Walk: Sydney to Newcastle 2018-12-25
The Great North Walk is a 250km trail that goes from Sydney to Newcastle. I’ve created a free online map you can use to guide yourself from start to finish, and download a GeoJSON or GPX file to use in your GPS devices.
thinkMoult Atom / RSS feed 2018-12-15
Subscribe to Dion Moult’s blog and online articles using Atom / RSS.
Free 3D lamp model 2018-12-13
Download a free 3D model of a lamp in OBJ format and Blender format for use in renderings and architectural visualisation.
Why Revit is shit 2018-12-11
Revit is a proprietary software package developed by Autodesk, an industry monopoly that consistently underdelivers when architects, engineers, and builders attempt to execute a BIM project. With OpenBIM still yet to mature, here is a list of criticisms of the software’s limitations.
Robotic stereotomy with stone diamond wire-cutting 2018-11-21
Stereotomy in stone cutting can result in material wastage, and when assembled, tend to not be able to cantilever well. This new technique cuts a wave-joint in a block with a diamond wire that allows stone to interlock and cantilever with minimal material wastage.
Panblog, a new, minimal, plaintext blog system 2018-10-28
Panblog is a minimalist blog system. You write articles in Markdown with metadata in YAML, and Pandoc converts your articles to HTML. The entire system of Panblog is a 73 line Makefile and 14 line lua filter, excluding HTML and Atom feed templates.
Medical animations and surgical visualisation with MedFilm 2018-10-07
MedFilm offers educational films for patients to learn about surgical procedures. Learn about anatomy, how to prepare for your procedure, what you will experience and the process during surgery, and advice for post-operation recovery. Available in multiple languages and on a subscription basis for clinics.
Worldwide GPS tracks with OpenStreetMaps for urban design analysis 2018-07-03
OpenStreetMaps GPS data can be used to generate heat maps of GPS activity in cities around the world for free. This allows architects, urban planners, and city enthusiasts to analyse how the city works and make more informed decisions for the built environment.
Edmondson Park - a retail and residential development by Frasers and HDR 2018-06-24
30km away from the Sydney city centre in the suburb of Edmondson Park, HDR has designed Ed Square: a diverse urban neighbourhood of restaurants; shopping, entertainment; playgrounds and parklands; adjacent to the Edmondson Park train station and all within walking distance from your own front door.
OpenStreetMaps - an open-source Maps application 2018-06-19
Learn about OpenStreetMaps, the open-source and Wikipedia-inspired mapping application instead of proprietary maps like Google Maps. Learn about the depth of map detail, specialised cycling, snow, and water maps, and humanitarian mapping initiatives to help relief workers during natural disasters.
Deleting Facebook, and a reflection on digital privacy 2018-04-02
Deleting Facebook in the wake of the Cambridge Analytica files is not because Facebook is tracking our data. In fact, our data is being tracked by almost all organisations across the internet to varying extents. People should have an awareness that there are both public and private outlets for expression online.
How to download the Australian BioNet Database 2018-03-27
Use Python to extract a region of species data from the Australian NSW BioNet flora and fauna database. This script uses the public API. The data is given in both JSON and CSV formats and can be used in GIS software like QGIS.
Improving human rights through secure messaging 2018-03-19
The instant messaging app you use has an impact on human rights worldwide. Discover the links between digital privacy, human rights, and why it matters whether you use Facebook Messenger or WhatsApp, even though they’re owned by the same company. Use Signal, an open-source, free, and end-to-end encrypted messaging app.
A history of rendering engines and modern trends 2018-03-13
Discover the history behind how 3D rendering came to be, from flat shading, specular highlights, the phong shader, to ray-tracing engines and real-time rendering trends. Discover how scientifically validated rendering helps architects get closer to rapid prototyping and visualisation of designs.
Clean meshes automatically in Blender with Python 2018-03-06
Use Blender and Python scripts to automatically clean up and process meshes for easier modelling. Weld vertices, replace triangles with quad faces, and recalculate surface normals. Script can run headlessly on a server.
Australian electrical infrastructure maps 2018-02-26
See maps of Australia’s electrical infrastructure, covering all major power stations, electrical transmission lines, and substations. See generation capacities of all renewable and non-renewable power plants and a brief description of energy generation within the NSW and Sydney region.
Show who modified an element last in Revit 2018-02-19
Find out who created or last modified an element in Revit. Use macros to instantly query any element or even find the editing history of view templates or sheets. No plugins or paid applications required.
Digital privacy is important, even though you think it doesn’t impact you 2018-02-13
Most people share sensitive information online without even realising it. People think that privacy doesn’t impact them and that tracking ads are benign. We discuss our hypocritical ideas about privacy online and how we can help raise awareness about political oppression.
Breakdown of a photo-realistic image in Blender Cycles 2018-02-05
This article demonstrates how particles and a few texture maps can easily add realism to any scene.
How to obfuscate and protect BIM IFC files 2018-01-28
Learn how to protect and obfuscate BIM IFC files from Revit and ArchiCAD by hiding proprietary company data. Hide material information, custom property sets, and IFC element attributes.
Gentoo Linux blogs on Planet Larry 2018-01-23
Similar to Planet Gentoo, Planet Larry is a feed aggregator of blog posts by Gentoo Linux user blogs. If you run Gentoo Linux, and write a blog, you can add your blog to the feed. Content can be anything, not necessarily related to Gentoo Linux.
2018 New years resolutions 2018-01-17
2018 resolutions include blogging more, diversifying investments, consuming ethically, improving digital security, and laying the foundation for long-term livelihood.
Basic rendering tutorial with Radiance 2018-01-14
Learn how to render basic shapes using with Radiance. Radiance is a validated lighting simulation software that allows you to create physically correct images. This tutorial guides you on doing your first render directly with Radiance, instead of using other third-party interfaces.
Brand new Gentoo desktop computer 2018-01-05
I bought a custom desktop computer pre-loaded with Linux in Australia, from LinuxNow.com.au, and am so far very happy with my purchase.
Stitching high resolution photos from NSW SIX Maps 2017-12-30
Save high resolution satellite photos automatically from NSW GIS SIX Maps directly in your browser for free, without manually merging up to 10,000 pixels.
LearnMusicSheets - download PDFs of music sheet exercises 2017-12-14
Download PDF music scores and exercises with LearnMusicSheets. Beautifully notated scales, arpeggios, and manuscript for piano with no copyright notices.
Practical Abhidhamma Course for Theravāda Buddhists 2016-02-18
A 200-page introduction to the Abhidhamma for Theravada Buddhists. Apply the Abhidhamma in your daily life. Free online book for download with minimal Pali.
Space architecture - a history of space station designs 2015-02-28
This article explores space architecture and their different priorities of human comfort in space stations and other isolated environments.
Clean code, and how to write it 2015-02-10
Learn how to write good clean code for beginners: covering basics such as clean syntax, architectural practices, and workflow.
Blender artwork: something’s not quite right 2015-02-03
A few test renders I had produced recently, including a hand, a forest, bubbles, and flowers.
Competitive weight loss with WeightRace.net 2015-01-20
Lose weight in a friendly competition using the online application weightrace.net.
Use Behat to recover your legacy web app 2014-10-06
Learn how to salvage your legacy web application using Behat’s automated testing with a simple 7 line code patch to your new or existing test suite.
Architectural visualisation renders with Blender 2014-05-29
I show an exterior and interior render of a university project, the highly unrealistic centre for profligate steel welders. Modeled in Blender and rendered in Cycles.
Building REST APIs with auto-discoverable auto-tested code 2014-03-10
Learn how to combine RMM with TDD to ensure that your REST API is auto-discoverable and auto-testable with fully updated documentation at all times.
Using Sahi, Mink and Behat to test HTML5 drag and drop file uploads 2014-02-24
Fully automate testing HTML5 drag and drop file upload scripts using Behat and Mink through the Sahi driver. Files can be specified in base64 format.
Eight rotary phones - an art installation 2014-01-23
The University of Sydney graduation exhibition featured an art installation with an isolated network of eight old-school rotary phones.
Installing Gentoo on Android with chroot 2014-01-03
Learn how to install Gentoo Linux on your Android phone inside a chroot, along with what quirks to expect after your install is done.
USyd Architecture Exhibition website released 2013-12-08
The official announcement and behind the scenes of the University of Sydney Architecture Graduation Exhibition website.
vtemplate 1.0.0 released 2013-11-28
vtemplate is a PHP-based boilerplate setup for starting new web projects which combines various industry standards. Includes frontend tools, BDD, and CI.
The Architecture Graduate Exhibition - University of Sydney 2013-11-23
Read the behind the scenes of the ANALOGUE Architecture Graduate Exhibition by the University of Sydney 2013.
Architecture IRC channel on Freenode 2013-10-05
Find, network and chat with other architects online in the architecture IRC channel hosted by the Freenode IRC network on the channel ##architect.
Sydney revue coming up from the architecture faculty! 2013-08-26
Another Sydney revue presented from the university architecture faculty is showing this year. Buy tickets and visit the show at the Seymour centre.
Blender panoramic renders howto and demonstration 2013-08-19
Blender panoramic renders can be done with both Blender Internal and Blender Cycles. Learn what settings to choose and what renders you can create.
Motion tracking with Javascript, HTML5 and a webcam 2013-08-08
Learn how to do motion tracking and colour recognition with a webcam, HTML5 canvas, and Javascript. View a demonstration and download the free code sample.
Hello SevenStrokes: Building websites … a little differently 2013-07-30
SevenStrokes specialises in web design and development, but with a unique approach that tailor makes websites to your business for the long term.
DraftSight: a free and cross-platform alternative to AutoCAD 2013-07-21
There is a general lack of open-source 2D CAD tools out there. In this article I introduce Draftsight, and provide ebuilds to install it on Gentoo Linux.
A Beaglebone, a Blender, a Board, and a Swarm 2013-07-13
Blender’s boid simulation and a Beagleboard is used to power a swarm of robots. Robots work together to collect resources from a remote location and deposit them in a central repository. Robots are laser cut and powered by PWM motors.
In order to discuss BDD, as a blogger, I need to talk about Behat 2013-07-09
Behat is a behaviour driven development (BDD) tool. I show how to use it to evaluate UI testing.
So then I built an oil lamp 2013-07-01
I learned some carpentry and basic metalwork to build an old-fashioned retractable wick suspended oil lamp.
The one and only IBM Model M Keyboard 2013-06-22
I found an IBM Model M at the back of a disused wind tunnel. It still works, it’s still loud, and these are my first opinions on it.
Free major and minor scales for piano sheet music 2013-06-15
Download free piano sheet music for major, minor harmonic, and minor melodic scales for all keys. Includes fingering annotation and typeset in LaTeX, exported in PDF format.
How to have animated wallpapers in KDE 2012-06-20
Blender 3D printed Suzanne model 2012-06-10
I used a Makerbot to print out a 3D version of Suzanne, the monkey head mascot from Blender.
Merge PDFs into 2 per page, 3 per page, etc (n per page) 2011-12-05
How to use Linux and pdfnup to convert Powerpoint presentations into 2 or 3 slides per page. This also works if you want to relayout any generic PDF into an N per page layout.
Use Klipper to automatically post to a Pastebin 2011-11-26
How to set up Klipper, the KDE clipboard manager, to automatically post clipboard contents to a pastebin online. This is useful for sending other people debugging information.
How to update the Windows wallpaper using batch 2011-01-22
Based on a fun idea to send messages to my parents, here’s a little MS DOS batch script to update the Windows wallpaper.
Browse Amarok’s embedded MySQL database 2010-09-01
Amarok uses a MySQL database to store its music information. This article describes how to access the database directly for analysis and debugging.
Using PlayOnLinux to run applications already installed by vanilla WINE 2010-08-26
Some Windows applications will run better using PlayOnLinux rather than WINE to start it up. Here’s an example of how to run an application installed with WINE, using PlayOnLinux.
How to change the printer LCD display message 2010-05-08
How to change a HP Printer’s default LCD display message by using the HP Printer Job Language. This script uses Perl and does not require any special access rights to run.
Reencode any video to ensure compatibility with Windows Media Player 2010-04-12
How to reencode videos with ffmpeg so that they are compatible with Windows Media Player. Windows Media Player has a limited set of codecs and this command will make sure it works.
Rotate a video by 90 degrees with mencoder 2010-04-08
Explains how to use mencoder to rotate a video, such as a .mov, by 90 degrees clockwise and anticlockwise in Linux.
Wikisurfing, the latest in extreme sports. 2010-01-24
Wikisurfing is a great way to broaden your general knowledge and have fun with friends at the same time. Try to go from an agreed topic to an agreed destination link only by clicking inline links. Category links are not allowed.
Copy a random set of files from a directory 2010-01-12
Learn how to copy a random set of files from a directory recursively to another directory in a bash one-liner.
Rip audio from an .FLV file 2009-07-24
This articles describes how to extract the audio from a Flash video file (FLV) into an MP3 format using free tools such as mencoder, with Linux.
How to use MPlayer to play music recursively in a directory 2009-07-22
Use MPlayer to play music or video files recursively within a directory in Linux. This uses GNU find and the playlist argument in mplayer.
Ratpoison: an efficient and minimalist WM 2009-05-13
Ratpoison is an efficient, minimalist, tiling window manager based off the principles of GNU screen, still under active development. I demonstrate how to change some keybindings to use Vi-keys and the caps lock as a modifier to prevent RSI.
Speed up Firefox to use less CPU 2009-02-24
Firefox has a bug where the tab loading animation can cause excessive CPU usage. You can edit the Firefox interface CSS to remove this element and reduce Firefox’s CPU usage.