Category: Linux and Mono

Open Source: Sigmatizm, A Virtual Additive Synthesizer

Back in 2012 I wrote the most complex audio application I had ever written. It’s called Sigmatizm, and is a standalone additive synthesizer. Additive synthesis works by adding together sine waves of different frequencies (harmonics) to create a more complex sound. This particular application adds up to 128 sine waves together in real-time, while transitioning from

Proxima Controller, a Virtual MIDI Controller

Back in 2008 I created an app called Proxima Controller. It’s a virtual MIDI controller that runs on Windows, OSX, and Linux. I wanted an easy way to control external MIDI hardware (synthesizers, etc.) from my PC and there wasn’t an app that I liked available. It started out as a Windows-only app. A few

Trigram Generator for Windows and Linux

A long time ago I wrote a free Windows app called the “ZC Trigram Generator”. It was a simple app to generate plausible-sounding words based on a set of input words. It had a steady trickle of downloads for around 8 years or so, about 1500 downloads per year. Two years ago I open-sourced it

MonoDevelop Not So Great

It turns out that using MonoDevelop had some dangerous side effects, especially related to terminal output. Mobs in your current room were rendered invisible on the Mono build even though they were visible on scan and you could attack them if you knew they were there.  It’s back to using Visual Studio in a Windows

Using MonoDevelop

I’ve almost always used both Windows and Linux, but I stopped using Windows a few months ago.  One of the things that only runs on a Windows machine is Visual Studio.  The Basternae code was compiled on a Windows machine and then uploaded to the Linux host. Without access to that, it was time to

Server Updated

Over the course of a lunch hour yesterday I updated the operating system on the Basternae box.  It was running Ubuntu 10.04.  It’s now on Ubuntu 12.04.  It took about 45 minutes to finish the whole process including testing and fixes.  Only one thing broke in the process.  The Django web framework, which runs about

GTK+ Is A Very Good SDK

GTK+ is a user interface toolkit for Linux.  It serves a similar purpose to WIN32, Windows Forms, WPF, Qt, Carbon, and Cocoa. Until recently I had only used GTK+ indirectly, through wxWidgets, which is a wrapper around the UI toolkits for Windows, Linux, MacOS, and others.  Ordinarily I’d just stick to wxWidgets so I don’t

C#: Compiling For 32-bit Systems on 64-bit

I recently upgraded from 32-bit Vista to 64-bit Windows 7.  I may be one of the only people who didn’t have anything bad to say about Vista.  For me it was a huge step up from Windows XP, but since I have 6GB of RAM in my system it’s a little silly to run a

Ubuntu 10.10

I’ve been using Ubuntu as my main Linux distribution since 2005.  Not that I used it that much, but not until 9.04 was it good enough to use as my main laptop OS.  Before that I just ran it as a virtual machine or on spare pieces of junk lying around. It’s been getting prettier

Client Version 0.16 Update

I spent some time with window layout, changing where windows open so things aren’t stacked on top of each other.  Now they open in locations that make more sense when you run the app.  You can still move windows elsewhere or close them if you want. I also worked on the group window.  Now it

Version 0.47 Editor Update

I’ve released an editor update today.  Changes are: Object Editing * Material type list is now sorted alphabetically. * When editing object values, value labels change based on object type for about half of the object types.  This makes it easier to tell what values you’re editing. Mob Editing * Race name is now sorted

It Runs On MacOS

I recently acquired a MacBook to expand the multi-platform development repertoire.  One thing that surprised me is that the Basternae server executable runs unmodified on OSX (Snow Leopard) with Mono installed.  This shouldn’t have been too surprising since the server currently runs on Ubuntu Linux, but it was still pretty cool to just type ‘mono

Building The Client On Linux

It’s been 3 years since I’ve tried to build the client on Linux. I started building the client long before there ever was a Basternae 3 project, and since then plenty of files have been added and removed — for instance, we no longer use Xerces-C or SDL in the project.  I was using Ubuntu

Startup Script Created

For the past few days, the test version of the MUD has only been up when I was actively running it from my Linux shell account. I’ve created a startup/restart script so it should be running all the time now, barring any catastrophic crash-explosions. Telnet port 4502 to connect.

Basternae 3 Test Port Currently Running

I have a test port of Basternae 3 running on port 4502.  This is only temporary for the purpose of testing. Here’s a list of things that need to be tested.  Feel free to spend as little as 1 minute testing, or as long as the server is up.  I only plan to have

Resource Usage For Basternae 3

Here’s the resource usage for Basternae running on Mono on Ubuntu with 1 active user and 6 zones loaded: USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND root     24624  0.2  6.9  39284 25548 pts/0    SNl  21:40   0:08 mono Basternae.exe I have to imagine with a full complement of zones and a few

Mono 2.01 Doesn’t Like XmlElementAttribute

I have zone files loading on Mono now. I had a sneaking suspicion that it had something to do with the XmlElementAttribute that I used to keep the XML tags in the zone files compatible with the encapsulated, property-based classes.  I spent a few hours updating the zone converter application so I could remove the

Good News and Bad News

Good News:  The crash is fixed.  It happened because an object was being loaded from a zone that didn’t exist. Bad News:  The root cause of the crash was that zones don’t actually load — the files open, but data isn’t read.  They load fine on Windows, but Mono isn’t happy.

Almost Working on Mono

There’s apparently a strange quirk to the XmlElementAttribute where you have to specify the data type for any type that isn’t a string (you’d think it would auto-detect an int property!) So, with this: /// /// The id number of the race. /// [XmlElement(“_number”, typeof(int))] public int Number { get { return _number; } set

Not Working on Mono

I tried firing up the current Basternae 3 codebase using Mono on my Ubuntu server. It crashed. So, here are the errors I have to sort out before I can get to the next errors: 14:30:34 Trace: Loading spells. System.InvalidOperationException: Standard output has not been redirected or pro cess has not been started. at System.Diagnostics.Process.CancelErrorRead