Adventures in programming and data.

  • Theming Power BI Organizational Custom Visuals

    I’ve recently created a Power BI Custom Visual for our BOQ report headers, as we have a specific header visual style that we want all reports to have: Normally when theming a custom visual that you import as a file, you just need to use the guid property of the custom visual (in pbiviz.json) as […]

  • Trimming and fading out video/audio with ffmpeg

    I recently wanted to trim and fade out an MP4 file. I wasn’t inclined at the effort of putting it in a non-linear editor and was looking for a quick way to achieve this. I found that ffmpeg had the necessary functionality to do this. The command I used in the end was: ffmpeg -i […]

  • Finding overlapping MIDI notes

    I’ve been using Beeano Midi Player to visualise MIDI tracks on a piano roll for inclusion in piano tutorial videos. As the software doesn’t support the sustain pedal for indicating the duration of a held note, I’ve been extending a note in the MIDI track to occupy the entire held duration, and at the same […]

  • Monophonic filtering using Scripter in Mainstage/Logic Pro

    I was recently building a patch in Mainstage where I wanted both a string/pad as well as a bell sound that would accent the top note of each chord that I played. I looked around for a technique to only keep the top note in a chord for Mainstage, and came across this post; but […]

  • Extracting legend symbology from ArcGIS Server Map Services

    Our user experience team were looking to do a refresh on our symbology that we use for our Map Services that we host on ArcGIS Server. They wanted to see all symbols used in the map service so they could pass it on to our graphic designer to redesign the icons. While you can see […]

  • Diffing Analysis Service Tabular models

    One of the problems we often face when diffing Analysis Services Tabular models in a collaborative development environment is that tables, columns, and relationships can often be reordered. This is because Visual Studio caches data to disk, and when the Model.bim is reloaded, the order from disk is used, and any extra items are appended […]

  • Data model impact analysis with Power BI

    Our current set up with Power BI is to host Analysis Services databases, and point a Power BI report to that. Due to the de-coupling of the data model and the report, there is no current mechanism to identify what fields and tables in Analysis Services are being used by which Power BI reports. I’ve […]

  • Using Leaflet in a Power BI Custom Visual

    For some of the spatial visualisations I’ve been working with in Power BI, I’ve had to create Custom Visuals as the out-of-the-box and visuals in the AppSource don’t quite hit the mark. I’m quite fond of Leaflet for map rendering. Here’s how I got it working with a Power BI Custom Visual. Create a new […]

  • Translink GTFS

    I recently became aware that Translink, Queensland’s public transport provider, openly publishes both a GTFS (General Transit Feed Specification) Static dataset and Realtime feed. The GTFS Static dataset provides information on routes, schedules, stops and pathing, while the Realtime feed provides information on current vehicle lat/long coordinates and delay information. I created a web app […]

  • Offline web apps

    I was doing some work with a mobile web application that had to continue to operate in a disconnected scenario, as users may intermittently go in and out of areas with mobile network reception. Adding offline support was reasonably straightforward in web browsers that support: Online/offline status to determine whether to post content to an […]