In which I explain why GTK# applications built in Monodevelop on Linux don’t run on Windows, and explain how to fix this…
As I’ve mentioned a couple of times before, I’ve been working on a C# application, using GTK# to enable me to create a GUI application which can run on Linux, Mac or Windows. It works well but I’ve been working through some “gotchas” here and there. Here’s a useful little tip… Gtk# is not a thread-safe toolkit. Continue reading “C# / GTK# – Re-Entrancy Issues”
In which I explore the very basic usage of the .NET Configuration system and hit an apparent bug in Mono’s implementation of it…
I’ve been experimenting with using GTK# and C# to build GUI applications which will run on Linux, Windows and Mac. Monodevelop has a graphical form designer for Gtk# front ends, but it’s not as simple as building WinForms applications under Visual Studio. An example is the TreeView widget – it’s designed from an MVC perspective, with a ListStore or TreeStore object containing the model (or data), various objects collectively representing the view (columns, cells, cell renderers etc) and the controller functions allow you to sort and filter the data. All the building needs to be done in code rather than at design time. This is a lot to wrap your head around if you simply want to display some data in a tabular format, as I did, when I wanted to display the parsed contents of a log file!
To make this easier for me in future, I’ve written a small class which hides just about everything. Read on…
The Arduino IDE does a great job of simplifying the creation of programs for Arduino (and clones) which is great if you don’t have much programming experience.
But if you’ve done more than a bit of programming in the past, you’ll soon find the dinky IDE a little frustrating to use. For example, my preferred text editor, by far, is vim, and I find it quite jarring to be forced to use a basic text editor to build programs. Yes, you can select “use external editor” in the settings, but it’s clumsy. I’ve built many an Arduino program in vim, then switched to the Arduino IDE to build it. It’s just not streamlined – it’s too slow and clunky.
It was therefore with delight I saw in the kubuntu 12.04 repository (I recently re-installed everything on my desktop after falling back in love with KDE) that there’s a package called arduino-mk which promises to provide the ability to build arduino programs directly from the command line. Which means you can use vim (or emacs if you’re weird :) and makefiles.
But… it doesn’t work out of the box – here’s what you need to do to fix it… Continue reading “Arduino from the Command Line”
I can’t be the only victim for this… I’ve experienced it on two different machines, on two versions of Kubuntu (11.08 and 12.04).
If I go into System Settings → Application Appearance → Fonts and select “Enabled” for “Use anti-aliasing” then click “Configure” and select “Use sub-pixel rendering”, then (after a restart probably) all the fonts in the browser (Chrome, Chromium or Firefox) look absolutely horrible. I’ve spent two days on and off trying to fix this.
The fix I’ve found is to delete ~/.fonts.conf and ~/.kderc (not sure at this stage which is the culprit), log out and back in, and, hey presto, fonts are OK again.
Update: example before and after screenshots can be seen here – the top shows nice smooth fonts and the bottom, to my eye, look thin, spindly and a bit jagged.
The first part of a (very) occasional series which follows my creation of a digital speedo for my motorcycle. Continue reading “Motorcycle Digital Speedo With Arduino”
A quick tip for those using the excellent Guitarix guitar effects program on Linux. I regularly found both cores of my machine up around the 90%-100% when that application was running, causing XRuns in Jack and clicks in outputted audio. I just found a way around it. For some really weird reason, SSHing into my main box from a separate, really underpowered netbook (an EEE701) with the “-X” flag, then running Guitarix from that machine, results in much lower CPU usage. It’s weird because Guitarix is still running on my main machine, it’s just displayed on the remote machine. Presumably something in the display code for Guitarix is a lot heavier than it should be.
In which I investigate whether I can connect an Arduino Ethernet shield to my Veroboarduino. Not as easy as I first thought it would be!
This weblog is now running on its own domain – www.martyndavis.com. You should have been redirected here automatically if you clicked a link which went to the other address (www.marengo-ltd.com/blog/). Apache mod_rewrite settings, being somewhat of a black art, means it’s possible I’ve mucked something up :) If you see any problems with any pages you’re trying to access, just comment here.