Archive

Archive for the ‘Uncategorized’ Category

Using the Eigenharp Alpha to play the Lament from Riverdance.

September 19th, 2010 Comments off

I recently started learning to play the Eigenharp Alpha. It’s an amazingly expressive electronic controller. The keys are sensitive, apparently to within one micron, in all three directions (in-out, up-down, left-right) and it also has ribbon controllers and a breath controller. Unfortunately, the accompanying software for the Eigenharp is very awkward to use and not well documented. The good news is that it’s not too hard to just get MIDI out of it and so external software can be used to do the processing.

Here’s a video of me playing the Lament (from Riverdance) using Max/MSP to produce background chords (triggered by my right hand) and then both chords and the solo (played with my left hand) are being handled by Apple MainStage. The string and choir sounds are being produced by Omnisphere and the Uillean Pipes solo sound is coming from Kontakt 4.

Of course, I scanned the sheet music into my Macintosh with Scorecerer and published it to my iPad. Unfortunately, I still haven’t found a decent stand for the iPad and although I suppose I could just use a regular music stand, I just balanced the iPad on my leg! I suppose you could argue that that’s another advantage of using the iPad instead of paper, which would just flop around.

Categories: Uncategorized Tags:

Cross-platform desktop development options: Introduction

January 10th, 2010 Comments off

Cross-platform development for desktop applications is becoming increasingly important. Chances are that your application user uses OS X, Windows, Linux or has a combination of these. For example – it is not uncommon for people to have a Windows based desktop and an OS X laptop.

In the recent years OS X platform really took off with the introduction of Intel based Macintosh computers. This makes the OS X platform hard to ignore.

As a developer – you have a few tough choices to make, but by far the toughest one is selecting the right development environment.

Wikipedia has a nice entry for “Cross-platform” which includes some of your development environment options

http://en.wikipedia.org/wiki/Cross-platform

We went through this “evaluation and selection” process recently and made sure we evaluated many cross-platform options carefully. Remember – once you commit to certain language or tool – it is very hard to change it later so make sure you weigh your options carefully.

Here is a list of more interesting options we have evaluated in no particular order

  • Object Pascal with Lazarus IDE
  • Object Pascal with Delphi IDE + wxForms on Windows + Free Pascal for OS X
  • Microsoft Visual Studio + C# on .NET platform, Mono on OS X/Linux
  • Java with Eclipse and NetBeans
  • wxWidgets and C++
  • Qt and C++
  • RealBASIC

I have to say that we come with a small baggage. We prefer Object Pascal over other languages evaluated here so we evaluated more options that would enable us to use that route.

As you can see – we evaluated many different languages. Object Pascal, C++, C#, Java and BASIC. While thinking about a certain language – think about libraries/SDKs that are available for that language. Certain GUI platforms have bindings for different languages – make sure you understand what is available before you commit. You do not want to be spending days writing a PushButton class on your own.

The process of selecting our tool of choice was tedious, but it definitely paid off. I will try to summarize the process, tool by tool and hopefully help you in making your decision.

 

Next:  Cross-platform desktop development options: Lazarus and other Object Pascal options

Categories: Uncategorized Tags:

On the ambiguity of “upload” and “download”

December 26th, 2009 Comments off

A few days ago, I finally got a cable that would allow me to connect my universal remote control to my computer so that I could tweak the settings that had been programmed into my control by the people who installed our home theatre system. Those people had actually done a very sophisticated job to make this particular remote work very well with a lot of devices hooked up to the screen.

So I connected the remote, launched the programming app, and clicked on the “download” button. Within a few seconds, my remote control was completely overwritten with default settings from a demo configuration file.

This happened on Christmas Eve so of course nobody was around to come by and fix it so I was left to try and figure out the programming application by myself (no manual and not a particularly intuitive user interface) to get things working again.

Anyhow, I started thinking about why I just automatically hit the “download” button, even though in past careers, I have written software for embedded systems where one cross-compiled code on a PC and then “downloaded” it to the embedded device.

However, on our PCs, we have all gotten used to the term “download” to mean “put something into the PC”. These days, when we “upload” something, we’re copying from our machine to some other computer, typically a server on the internet. The problem of course is that “download” and “upload” are relative. The behavior depends on from where you initiate the command.

So I propose that the words “download” and “upload” (whatever they mean) be replaced with “inload” and “outload”. The former means to load something into the device initiating the command and, well, I’ll leave it to you to figure out what “outload” should mean.

 

Categories: Uncategorized Tags:

iMac shutdown (and resurrection)

December 4th, 2009 Comments off

My trusty Intel dual core, 24″ iMac just shut down on me today. Out of the blue and after no particular provocation from my side.

I thought that it might have overheated and that once cooled – it might come back up, but no luck.

I was sure it was the power supply – there’s no “peep” coming out of the thing so I set out to find how to replace it. I found a bunch of interesting things, but mostly wanted to figure out a proper way to open it up.

A video I found on YouTube was good enough to let me know what I am up against. You can find the video here

Once I opened the thing – I disconnected the LCD, took out the memory modules and then the power supply. I could not see any signs of damage on it. I know – it’s not always visible, but when a power supply goes bad – there is usually a strong smell coming out of it or other noticeable signs of damage.

I put it back in and thought to try to power it now with everything else disconnected. It worked – the fans started to spin, showing the signs of life. I soon figured out that plugging in the monitor inverter was the source of trouble so it went bad and was most likely surging the power supply which in turn correctly shut down everything.

So – I went to the store, got myself a mini DVI->DVI cable (not the $65 Apple one, but the $18 one) and plugged the iMac into my regular 24″ LCD  – worked like a charm.

I’m going to miss the nice LCD, but at least I have my iMac back and will most likely get a new 24″ for it since that is far cheaper and more modular than repairing the current LCD.

So – next time your computer dies – don’t assume it’s the power supply. Plug everything you can out of it and test it before you make you final verdict.

PS. You are backing up your files are you? Anything can go wrong at any time – back up your important data. If I didn’t get my mac running – I would have to get another one, but my data was never in jeopardy.

Categories: Uncategorized Tags:

Welcome to our software development blog!

January 18th, 2007 Comments off

At Deskew – we are passionate about all aspects of software development. From planning to the finished product – there is always something that can be improved or tweaked.

We will try to share what we learned over the last few decades and hopefully help you write better software.

 

No topic is off limits. From design concept to tool evaluations and implementation details – we will try to talk about relevant software development issues we encounter in our daily struggle to make that perfect piece of code.

Enjoy!

 

Categories: Uncategorized Tags: