Amiga tank mouse laser conversion – Alternative firmware

I’ve been working on alternative firmware for the Amiga tank mouse conversion that can be found on PCBWay.
Amiga tank mouse

The mouse is using a Microchip PIC18F26K22 MCU and an Avago ADNS9800 optical sensor.
The firmware monitors the ADNS9800 sensor and translates the X/Y movement deltas into V/VQ and H/HQ quadrature pulses for the Amiga

I may be putting the source code up on Github eventually, but for now, here’s a link to download the HEX file.

Continue reading “Amiga tank mouse laser conversion – Alternative firmware”

MySQL Workbench: Adding F5 to execute

I’ve been using Microsoft’s SQL Server Management Studio since it was called Enterprise Manager, way back when.
Over the years, I have become so accustomed to using F5 to run queries that when even after a long time using MySQL Workbench, muscle memory rules and I still hit F5 and wonder why my queries don’t run…

Luckily, MySQL Workbench is configurable so the keyboard shortcuts can be changed.

To make MySQL Workbench behave more like SSMS, open an administrative command prompt (editing the configuration file requires administrator access) and CD to the directory MySQL Workbench has been installed in.
In there, you’ll find a directory called “data”, so CD into that. For version 8.0 installed on 64-bit Windows, I have this as cd "\Program Files\MySQL\MySQL Workbench 8.0 CE\data"

You’ll need to edit the file called main_menu.xml. I’ll just use notepad for this: notepad main_menu.xml

There are quite a few entries in this file for executing queries, but the one which makes it behave most like SSMS is the one which has an id of com.mysql.wb.menu.query.exec. The caption in version 8.0 is Execute (All or Selection). Change the shortcut to F5, as shown below:

<value type=”object” struct-name=”app.MenuItem” id=”com.mysql.wb.menu.query.exec”>
<link type=”object” key=”owner” struct-name=”app.MenuItem”>com.mysql.wb.menu.query</link>
<value type=”string” key=”accessibilityName”>Execute All or Selection</value>
<value type=”string” key=”caption”>Execute (All or Selection)</value>
<value type=”string” key=”name”>query.execute</value>
<value type=”string” key=”command”>builtin:query.execute</value>
<value type=”string” key=”itemType”>action</value>
<value type=”string” key=”shortcut”>F5</value>
</value>

When done, save and close the file and then restart MySQL Workbench. The Query menu will show F5 as the shortcut for the Execute All or Selection menu.

Dynamics AX 2012 – Managing duplicate model names

Recently I came across a situation where I had multiple models with the same name in one of the AX 2012 instances I am developing for. It is possible to do this through the AX developer workspace as long as they have different publishers, but it causes the model management Powershell cmdlets to freak out a bit.

Recently I came across a situation where I had multiple models with the same name in one of the AX 2012 instances I am developing for. It is possible to do this through the AX developer workspace as long as they have different publishers, but it causes the model management Powershell cmdlets to freak out a bit.

In my case, I wanted to delete one of the models so I would not have duplicate names, but when I tried to use Uninstall-AXModel, I got an error message saying:

 uninstall-axmodel : The pipeline has been stopped.
 At line:1 char:1
 uninstall-axmodel -server DEVSRV -database DynamicsAX_Dev_model -m …
 ~~~~~~~~~~~~~~~~~ CategoryInfo          : OperationStopped: (:) [Uninstall-AXModel], PipelineStoppedException
 FullyQualifiedErrorId : Multiple models exist with the name temp.,Microsoft.Dynamics.AX.Framework.Tools.ModelManagement.PowerShell.UninstallAXModelCommand 

Fix: Dynamics AX windows opening up behind everything else

If you have worked with Dynamics AX 2009, 2012, R2 or R3 for a while, at least more than an hour or so, you’ll have noticed that for some reason it tends to open new windows behind everything else.

You click a button to open a form, and then you wait for a while for the form to open.  Then you wait some more, and a bit more again.   And then you finally notice that the form has actually opened already.  AX just decided to play a bit of hide and seek with you and opened it behind everything else.

Brilliant design decision, that…

Continue reading “Fix: Dynamics AX windows opening up behind everything else”